แบบฟอร์ม HTML มักใช้เพื่อรับข้อมูลจากผู้ใช้ คุณสามารถกรอกข้อมูลในฟิลด์ต่างๆ ของฟอร์มที่มีช่องทำเครื่องหมาย ข้อความ วิทยุ และปุ่มส่งสำหรับการป้อนข้อมูล คุณสามารถสร้างหรือกรอกแบบฟอร์ม HTML โดยทางโปรแกรมโดยใช้ภาษา C# บทความนี้ครอบคลุมส่วนที่เกี่ยวข้องกับรูปแบบ HTML ต่อไปนี้:
- สร้างหรือกรอกแบบฟอร์ม HTML - การติดตั้ง C# API
- สร้างแบบฟอร์ม HTML โดยทางโปรแกรมโดยใช้ C#
- กรอกแบบฟอร์ม HTML ด้วยปุ่มส่งใน C #
- ใบอนุญาต API ฟรี
สร้างหรือกรอกแบบฟอร์ม HTML - การติดตั้ง C# API
Aspose.HTML for .NET API ช่วยให้คุณสร้างหรือกรอกฟอร์ม HTML ด้วยปุ่มส่งโดยทางโปรแกรมโดยใช้ภาษา C# คุณสามารถกำหนดค่า API ได้โดยการดาวน์โหลดไฟล์ DLL จากส่วน ดาวน์โหลด หรือติดตั้งอย่างรวดเร็วด้วยคำสั่งการติดตั้ง NuGet ต่อไปนี้:
PM> Install-Package Aspose.Html
สร้างแบบฟอร์ม HTML โดยทางโปรแกรมโดยใช้ C#
คุณสามารถสร้างฟอร์ม HTML โดยทางโปรแกรมโดยใช้ภาษา C# โปรดทำตามขั้นตอนด้านล่างเพื่อสร้างตั้งแต่เริ่มต้น:
- เริ่มต้นอินสแตนซ์ของคลาส HTMLDocument
- สร้างฟอร์ม HTML ใหม่ด้วยเมธอด CreateNew
- ป้อนฟิลด์ประเภทข้อความอย่างง่าย
- สร้างองค์ประกอบอินพุตปุ่มตัวเลือก
- ใส่ปุ่มส่งในรูปแบบ HTML และเพิ่มโหนดปัจจุบัน
- บันทึกรูปแบบ HTML
รหัสต่อไปนี้แสดงวิธีการสร้างแบบฟอร์ม HTML โดยทางโปรแกรมโดยใช้ C#:
// เริ่มต้นอินสแตนซ์ของคลาส HTMLDocument
using (HTMLDocument document = new HTMLDocument())
{
// สร้างฟอร์ม HTML ใหม่ด้วยเมธอด CreateNew()
using (var editor = FormEditor.CreateNew(document))
{
// ป้อนฟิลด์ประเภทข้อความอย่างง่าย
var name = editor.AddInput("name");
name.Type = InputElementType.Text;
// ป้อนปุ่มตัวเลือก
var size = editor.AddInput("size");
size.Type = InputElementType.Radio;
size.HtmlElement.InnerHTML = "Sample Text";
// ปุ่มส่งอินพุตในรูปแบบ HTML
var button = editor.Add<Forms.ButtonElement>("btn");
button.Value = "submit";
button.HtmlElement.InnerHTML = "Sample Button";
// เพิ่มโหนดปัจจุบัน
document.Body.AppendChild(editor.Form);
}
// บันทึกรูปแบบ HTML
document.Save("Create-HTML-Form.html");
}
นอกจากนี้ ด้านล่างนี้เป็นอีกวิธีหนึ่งในการสร้างฟอร์ม HTML โดยใช้องค์ประกอบฟอร์ม HTML ดั้งเดิมใน C#:
// สร้างแบบฟอร์ม HTML โดยใช้ HTML API ดั้งเดิม
using (var document = new Aspose.Html.HTMLDocument())
{
var editor = Aspose.Html.Forms.FormEditor.CreateNew(document);
var body = document.Body;
// สร้างองค์ประกอบแบบฟอร์ม
var form = (HTMLFormElement)document.CreateElement("form");
// form.Action = "action_page.php";
// สร้างป้ายกำกับ FirstName
var label = (HTMLLabelElement)document.CreateElement("label");
label.TextContent = "First name:";
label.For = "fname";
form.AppendChild(label);
form.AppendChild(document.CreateElement("br"));
// สร้างฟิลด์ FirstName
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"));
// สร้างป้ายกำกับนามสกุล
label = (HTMLLabelElement)document.CreateElement("label");
label.TextContent = "Last name:";
label.For = "lname";
form.AppendChild(label);
form.AppendChild(document.CreateElement("br"));
// สร้างฟิลด์นามสกุล
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"));
// สร้างฟิลด์ RadioButton
input = (HTMLInputElement)document.CreateElement("input");
input.Type = "radio";
input.Id = "radio1";
input.Name = "Topping";
form.AppendChild(input);
// สร้างป้ายกำกับ 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"));
// สร้างฟิลด์ RadioButton
input = (HTMLInputElement)document.CreateElement("input");
input.Type = "radio";
input.Id = "radio2";
input.Name = "Topping";
form.AppendChild(input);
// สร้างป้ายกำกับ 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"));
// สร้างปุ่มส่ง
input = (HTMLInputElement)document.CreateElement("input");
input.Type = "submit";
input.Value = "Submit";
form.AppendChild(input);
body.AppendChild(form);
document.Save(dataDir + "Create-HTML-Form.html");
}
ภาพหน้าจอต่อไปนี้แสดงรูปแบบ HTML เอาต์พุตที่สร้างด้วยข้อมูลโค้ดด้านบน:
กรอกแบบฟอร์ม HTML ด้วยปุ่มส่งใน C
คุณได้ศึกษาวิธีสร้างฟอร์ม HTML แล้ว ตอนนี้คุณสามารถเรียนรู้วิธีกรอกแบบฟอร์ม HTML และส่งข้อมูลไปยังเซิร์ฟเวอร์ระยะไกลได้โดยตรงจากแอปพลิเคชัน C# ของคุณ คุณสามารถวนซ้ำผ่านรายการต่าง ๆ ในแบบฟอร์มจากนั้นใช้ปุ่มส่งเพื่อส่งข้อมูล ที่นี่ คุณจะได้ทำงานกับ แบบฟอร์มเทมเพลต ที่สร้างโดย httpbin.org ซึ่งรวมถึงการกรอกข้อความ ปุ่มตัวเลือก และช่องทำเครื่องหมายที่คุณกำลังเรียนรู้ด้านล่าง:
เลือกกล่องกาเครื่องหมายค่าในประเภทอินพุต
ช่องทำเครื่องหมายมีประโยชน์เมื่อคุณต้องเลือกมากกว่าหนึ่งตัวเลือก คุณสามารถเลือกค่าในช่องทำเครื่องหมายประเภทอินพุตได้อย่างง่ายดายด้วยรหัสต่อไปนี้:
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)
{
// เลือกหัวหอมและชีสทั้งสองตัวเลือกในกล่องกาเครื่องหมาย
if (input.Value == "onion" || input.Value == "cheese")
{
input.SetCheckboxValue(true);
}
}
กรอกข้อความประเภทอินพุตและฟิลด์วิทยุ
แบบฟอร์ม HTML อาจมีกล่องข้อความหลายช่องและช่องปุ่มตัวเลือกสำหรับการรวบรวมข้อมูล คุณสามารถกรอกข้อความป้อนด้วยรหัสต่อไปนี้:
// คุณสามารถเติมข้อมูลโดยใช้การเข้าถึงโดยตรงไปยังองค์ประกอบอินพุต เช่นนี้:
editor["custname"].Value = "Aspose";
// หรือสิ่งนี้:
var comments = editor.GetElement<Aspose.Html.Forms.TextAreaElement>("comments");
comments.Value = "Extra Ketchup PLEASE!";
// หรือแม้กระทั่งโดยการดำเนินการจำนวนมาก เช่นอันนี้:
editor.Fill(new Dictionary<string, string>()
{
{"custemail", "test@test.com"},
{"custtel", "+123-456-789"}
});
ในทำนองเดียวกัน คุณสามารถเลือกฟิลด์ปุ่มตัวเลือกด้วยรหัสด้านล่าง:
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)
{
// เลือกขนาดกลางเป็นขนาดในปุ่มตัวเลือก
if (input.Value == "medium")
{
input.SetRadioValue(true);
}
}
การส่งข้อมูลด้วยปุ่มส่งใน HTML
คุณสามารถส่งข้อมูลที่กรอกในรูปแบบ HTML ด้วยปุ่มส่งโดยใช้คลาส FormSubmitter โค้ดต่อไปนี้แสดงวิธีเรียกเมธอด Submit() ในโค้ด C#:
// สร้างตัวอย่างของผู้ส่งแบบฟอร์ม
var submitter = new Aspose.Html.Forms.FormSubmitter(editor);
// ส่งข้อมูลแบบฟอร์มไปยังเซิร์ฟเวอร์ระยะไกล
// หากคุณต้องการ คุณสามารถระบุ user-credentials และ timeout สำหรับคำขอ ฯลฯ ด้วยวิธีการ overload
var result = submitter.Submit();
รหัสแหล่งที่มา
ด้านล่างนี้เป็นซอร์สโค้ดที่สมบูรณ์เพื่อกรอกแบบฟอร์ม HTML โดยทางโปรแกรมโดยใช้ C #:
// เริ่มต้นอินสแตนซ์ของเอกสาร HTML จาก 'https://httpbin.org/forms/post' url
using (var document = new HTMLDocument(@"https://httpbin.org/forms/post"))
{
// สร้างอินสแตนซ์ของ Form Editor
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)
{
// เลือกขนาดกลางเป็นขนาดในปุ่มตัวเลือก
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)
{
// เลือกหัวหอมและชีสทั้งสองตัวเลือกในกล่องกาเครื่องหมาย
if (input.Value == "onion" || input.Value == "cheese")
{
input.SetCheckboxValue(true);
}
}
// คุณสามารถเติมข้อมูลโดยใช้การเข้าถึงโดยตรงไปยังองค์ประกอบอินพุต เช่นนี้:
editor["custname"].Value = "Aspose";
// หรือสิ่งนี้:
var comments = editor.GetElement<Aspose.Html.Forms.TextAreaElement>("comments");
comments.Value = "Extra Ketchup PLEASE!";
// หรือแม้กระทั่งโดยการดำเนินการจำนวนมาก เช่นอันนี้:
editor.Fill(new Dictionary<string, string>()
{
{"custemail", "test@test.com"},
{"custtel", "+123-456-789"}
});
// สร้างตัวอย่างของผู้ส่งแบบฟอร์ม
using (var submitter = new Aspose.Html.Forms.FormSubmitter(editor))
{
// ส่งข้อมูลแบบฟอร์มไปยังเซิร์ฟเวอร์ระยะไกล
// หากคุณต้องการ คุณสามารถระบุข้อมูลรับรองผู้ใช้และระยะหมดเวลาสำหรับคำขอ เป็นต้น
var result = submitter.Submit();
// ตรวจสอบสถานะของวัตถุผลลัพธ์
if (result.IsSuccess)
{
// ตรวจสอบว่าผลลัพธ์อยู่ในรูปแบบ json หรือไม่
if (result.ResponseMessage.Headers.ContentType.MediaType == "application/json")
{
// ถ่ายโอนข้อมูลผลลัพธ์ไปยังคอนโซล
Console.WriteLine(result.Content.ReadAsString());
}
else
{
// โหลดข้อมูลผลลัพธ์เป็นเอกสาร HTML
using (var resultDocument = result.LoadDocument())
{
// ตรวจสอบเอกสาร HTML ที่นี่
}
}
}
}
}
}
ใบอนุญาต API ฟรี
คุณสามารถประเมิน Aspose.HTML for .NET API ได้โดยไม่มีข้อจำกัดในการประเมินโดยขอ ใบอนุญาตชั่วคราวฟรี
บทสรุป
โดยสรุป คุณได้เรียนรู้วิธีสร้างฟอร์ม HTML ตั้งแต่เริ่มต้น ตลอดจนวิธีกรอกฟอร์ม HTML ที่มีอยู่และการส่งข้อมูลไปยังเซิร์ฟเวอร์ระยะไกลจากแอปพลิเคชัน C# ของคุณ คุณยังสามารถไปที่ส่วน Documentation เพื่อสำรวจคุณลักษณะอื่นๆ อีกหลายอย่าง โปรดติดต่อเราได้ที่ ฟอรัมสนับสนุนฟรี สำหรับข้อสงสัยของคุณ