Formuláře HTML se často používají k získávání vstupů od uživatelů. Pro vstup můžete vyplnit různá pole formuláře obsahující zaškrtávací políčko, text, rádio a tlačítko Odeslat. Formulář HTML můžete vytvořit nebo vyplnit programově pomocí jazyka C#. Tento článek obsahuje následující části související s formuláři HTML:
- Vytvořte nebo vyplňte formulář HTML - Instalace C# API
- Vytvořte HTML formulář programově pomocí C#
- Vyplňte formulář HTML tlačítkem Odeslat v C#
- Bezplatná licence API
Vytvořte nebo vyplňte formulář HTML - Instalace C# API
Aspose.HTML for .NET API umožňuje vytvářet nebo vyplňovat formuláře HTML pomocí tlačítek Odeslat programově pomocí jazyka C#. Rozhraní API můžete nakonfigurovat stažením souboru DLL ze sekce Downloads nebo jej rychle nainstalovat pomocí následujícího instalačního příkazu NuGet:
PM> Install-Package Aspose.Html
Vytvořte HTML formulář programově pomocí C#
Formulář HTML můžete vytvořit programově pomocí jazyka C#. Chcete-li jej vytvořit od začátku, postupujte podle následujících kroků:
- Inicializujte instanci třídy HTMLDocument.
- Vytvořte nový HTML formulář pomocí metody CreateNew.
- Zadejte pole jednoduchého textu.
- Vytvořte vstupní prvek přepínače.
- Zadejte tlačítko Odeslat ve formuláři HTML a přidejte aktuální uzly.
- Uložit HTML formulář.
Následující kód ukazuje, jak vytvořit formulář HTML programově pomocí C#:
// Inicializujte instanci třídy HTMLDocument
using (HTMLDocument document = new HTMLDocument())
{
// Vytvořte nový formulář HTML pomocí metody CreateNew().
using (var editor = FormEditor.CreateNew(document))
{
// Zadejte pole jednoduchého textu
var name = editor.AddInput("name");
name.Type = InputElementType.Text;
// Zadejte přepínač
var size = editor.AddInput("size");
size.Type = InputElementType.Radio;
size.HtmlElement.InnerHTML = "Sample Text";
// Zadejte tlačítko Odeslat ve formuláři HTML
var button = editor.Add<Forms.ButtonElement>("btn");
button.Value = "submit";
button.HtmlElement.InnerHTML = "Sample Button";
// Přidá aktuální uzel
document.Body.AppendChild(editor.Form);
}
// Uložit HTML formulář
document.Save("Create-HTML-Form.html");
}
Níže je navíc uveden další přístup k vytváření formuláře HTML pomocí nativního prvku formuláře HTML v C#:
// Vytvořte formulář HTML pomocí nativního rozhraní HTML API
using (var document = new Aspose.Html.HTMLDocument())
{
var editor = Aspose.Html.Forms.FormEditor.CreateNew(document);
var body = document.Body;
// vytvořit formulářový prvek
var form = (HTMLFormElement)document.CreateElement("form");
// form.Action = "stranka_akce.php";
// Vytvořte štítek Jméno
var label = (HTMLLabelElement)document.CreateElement("label");
label.TextContent = "First name:";
label.For = "fname";
form.AppendChild(label);
form.AppendChild(document.CreateElement("br"));
// Vytvořte pole Jméno
var input = (HTMLInputElement)document.CreateElement("input");
input.Type = "text";
input.Id = "fname";
input.Name = "fname";
form.AppendChild(input);
form.AppendChild(document.CreateElement("br"));
form.AppendChild(document.CreateElement("br"));
// Vytvořte štítek Příjmení
label = (HTMLLabelElement)document.CreateElement("label");
label.TextContent = "Last name:";
label.For = "lname";
form.AppendChild(label);
form.AppendChild(document.CreateElement("br"));
// Vytvořte pole Příjmení
input = (HTMLInputElement)document.CreateElement("input");
input.Type = "text";
input.Id = "lname";
input.Name = "lname";
form.AppendChild(input);
form.AppendChild(document.CreateElement("br"));
form.AppendChild(document.CreateElement("br"));
// Vytvořte pole RadioButton
input = (HTMLInputElement)document.CreateElement("input");
input.Type = "radio";
input.Id = "radio1";
input.Name = "Topping";
form.AppendChild(input);
// Vytvořte štítek RadioButton
label = (HTMLLabelElement)document.CreateElement("label");
label.TextContent = "Male";
label.For = "radio1";
form.AppendChild(label);
form.AppendChild(document.CreateElement("br"));
form.AppendChild(document.CreateElement("br"));
// Vytvořte pole RadioButton
input = (HTMLInputElement)document.CreateElement("input");
input.Type = "radio";
input.Id = "radio2";
input.Name = "Topping";
form.AppendChild(input);
// Vytvořte štítek RadioButton
label = (HTMLLabelElement)document.CreateElement("label");
label.TextContent = "Female";
label.For = "radio2";
form.AppendChild(label);
form.AppendChild(document.CreateElement("br"));
form.AppendChild(document.CreateElement("br"));
// Vytvořit tlačítko Odeslat
input = (HTMLInputElement)document.CreateElement("input");
input.Type = "submit";
input.Value = "Submit";
form.AppendChild(input);
body.AppendChild(form);
document.Save(dataDir + "Create-HTML-Form.html");
}
Následující snímek obrazovky ukazuje výstupní formulář HTML vytvořený s výše uvedeným fragmentem kódu:
Vyplňte formulář HTML tlačítkem Odeslat v C#
Jak vytvořit formulář HTML jste již prozkoumali. Nyní se můžete naučit, jak vyplnit formulář HTML a odeslat data na libovolný vzdálený server přímo z vaší aplikace C#. Ve formuláři můžete iterovat různé položky a poté data odeslat pomocí tlačítka Odeslat. Zde budete pracovat s šablonovým formulářem vytvořeným httpbin.org. Zahrnuje vyplňování textu, přepínače a zaškrtávací políčka, která se naučíte níže:
Zaškrtněte políčko Hodnota v typu vstupu
Zaškrtávací políčka jsou užitečná tam, kde potřebujete vybrat více než jednu možnost. Hodnotu v zaškrtávacím políčku typu vstupu můžete snadno vybrat pomocí následujícího kódu:
elements = editor
.Where(x => x.ElementType == Forms.FormElementType.Input)
.Cast<Aspose.Html.Forms.InputElement>()
.Where(x => x.Type == Forms.InputElementType.Checkbox);
foreach (Forms.InputElement input in elements)
{
// V zaškrtávacích polích vyberte obě možnosti cibule a sýr
if (input.Value == "onion" || input.Value == "cheese")
{
input.SetCheckboxValue(true);
}
}
Vyplňte pole Input Type Text a Radio
Formulář HTML může obsahovat několik textových polí a polí s přepínači pro sběr dat. Vstupní text můžete vyplnit následujícím kódem:
// Data můžete vyplnit pomocí přímého přístupu k vstupním prvkům, například takto:
editor["custname"].Value = "Aspose";
// nebo toto:
var comments = editor.GetElement<Aspose.Html.Forms.TextAreaElement>("comments");
comments.Value = "Extra Ketchup PLEASE!";
// nebo dokonce provedením hromadné operace, jako je tato:
editor.Fill(new Dictionary<string, string>()
{
{"custemail", "test@test.com"},
{"custtel", "+123-456-789"}
});
Podobně můžete vybrat pole přepínačů pomocí kódu níže:
var elements = editor
.Where(x => x.ElementType == Forms.FormElementType.Input)
.Cast<Aspose.Html.Forms.InputElement>()
.Where(x => x.Type == Forms.InputElementType.Radio);
foreach (Forms.InputElement input in elements)
{
// Vyberte médium jako velikost v tlačítku Přepínač
if (input.Value == "medium")
{
input.SetRadioValue(true);
}
}
Odesílání dat pomocí tlačítka Odeslat v HTML
Vyplněná data můžete odeslat ve formuláři HTML pomocí tlačítka Odeslat pomocí třídy FormSubmitter. Následující kód ukazuje, jak volat metodu Submit() v kódu C#:
// Vytvořte instanci odesílatele formuláře
var submitter = new Aspose.Html.Forms.FormSubmitter(editor);
// Odešlete data formuláře na vzdálený server.
// Pokud potřebujete, můžete zadat uživatelská pověření a časový limit pro požadavek atd. pomocí metod přetížení
var result = submitter.Submit();
Zdrojový kód
Níže je uveden úplný zdrojový kód pro programové vyplnění formulářů HTML pomocí C#:
// Inicializujte instanci dokumentu HTML z adresy URL „https://httpbin.org/forms/post“.
using (var document = new HTMLDocument(@"https://httpbin.org/forms/post"))
{
// Vytvořte instanci Editoru formulářů
using (var editor = FormEditor.Create(document, 0))
{
var elements = editor
.Where(x => x.ElementType == Forms.FormElementType.Input)
.Cast<Aspose.Html.Forms.InputElement>()
.Where(x => x.Type == Forms.InputElementType.Radio);
foreach (Forms.InputElement input in elements)
{
// Vyberte médium jako velikost v tlačítku Přepínač
if (input.Value == "medium")
{
input.SetRadioValue(true);
}
}
elements = editor
.Where(x => x.ElementType == Forms.FormElementType.Input)
.Cast<Aspose.Html.Forms.InputElement>()
.Where(x => x.Type == Forms.InputElementType.Checkbox);
foreach (Forms.InputElement input in elements)
{
// V zaškrtávacích polích vyberte obě možnosti cibule a sýr
if (input.Value == "onion" || input.Value == "cheese")
{
input.SetCheckboxValue(true);
}
}
// Data můžete vyplnit pomocí přímého přístupu k vstupním prvkům, například takto:
editor["custname"].Value = "Aspose";
// nebo toto:
var comments = editor.GetElement<Aspose.Html.Forms.TextAreaElement>("comments");
comments.Value = "Extra Ketchup PLEASE!";
// nebo dokonce provedením hromadné operace, jako je tato:
editor.Fill(new Dictionary<string, string>()
{
{"custemail", "test@test.com"},
{"custtel", "+123-456-789"}
});
// Vytvořte instanci odesílatele formuláře
using (var submitter = new Aspose.Html.Forms.FormSubmitter(editor))
{
// Odešlete data formuláře na vzdálený server.
// Pokud potřebujete, můžete zadat přihlašovací údaje uživatele a časový limit pro požadavek atd.
var result = submitter.Submit();
// Zkontrolujte stav výsledného objektu
if (result.IsSuccess)
{
// Zkontrolujte, zda je výsledek ve formátu json
if (result.ResponseMessage.Headers.ContentType.MediaType == "application/json")
{
// Uložte data výsledků do konzole
Console.WriteLine(result.Content.ReadAsString());
}
else
{
// Načtěte výsledná data jako dokument HTML
using (var resultDocument = result.LoadDocument())
{
// Prohlédněte si HTML dokument zde.
}
}
}
}
}
}
Bezplatná licence API
Aspose.HTML for .NET API můžete vyhodnotit bez jakýchkoliv omezení hodnocení, když požádáte o bezplatnou dočasnou licenci.
Závěr
Na závěr jste se naučili, jak vytvořit HTML formulář od začátku, a také jak vyplnit existující HTML formulář a odeslat data na vzdálený server z vaší C# aplikace. Můžete také navštívit sekci Dokumentace a prozkoumat několik dalších funkcí. V případě jakýchkoliv dotazů nás neváhejte kontaktovat na Free Support Forum.