Редактор HTML-форм – HTML Form C#
HTML Form Element
HTML Form Element представляет собой раздел, содержащий элементы управления вводом для отправки информации о пользователе. Используя нашу библиотеку, вы можете легко заполнять HTML-формы и отправлять данные прямо из своего приложения C#. Чтобы сделать этот процесс более удобным, мы разработали пространство имен Aspose.Html.Forms. Основным элементом этого пространства имен является FormEditor. Он позволяет найти существующую форму в документе, создать новую с нуля, перебрать элементы, заполнить их данными и обязательно отправить информацию на удаленный сервер.
В этой статье вы узнаете, как работать с объектом FormEditor для управления формой HTML в документе, элементами управления вводом, и отправить информацию. Для тестирования мы используем форму, разработанную сервисом https://httpbin.org.
Как использовать FormEditor
Давайте посмотрим на фрагмент кода C#, который демонстрирует, как использовать пространство имен Aspose.Html.Forms для программного заполнения и отправки HTML-формы. Вам необходимо выполнить следующие шаги:
- Создайте новый экземпляр класса HTMLDocument, используя конструктор HTMLDocument(url). Укажите URL-адрес HTML-формы, которую необходимо заполнить и отправить.
- Используйте метод Create(document, index) для создания экземпляра класса FormEditor, передавая в нем экземпляр HTMLDocument и индекс редактируемой формы (значение 0 относится к первой форме в HTML-документе).
- Заполните данные, используя прямой доступ к элементам ввода. Доступ к полям формы и их изменение осуществляется с помощью объекта
editor
. - Используйте конструктор FormSubmitter(editor) для создания экземпляра класса FormSubmitter.
- Вызовите метод Submit() класса FormSubmitter, чтобы отправить форму.
- Проверьте статус результата отправки формы с помощью свойства
IsSuccess. Если отправка формы прошла успешно, проверяется ответ сервера:
- если ответ в формате JSON, содержимое JSON выводится на консоль;
- в противном случае ответ загружается в другой экземпляр HTMLDocument с использованием метода LoadDocument() для дальнейшей проверки.
1// Initialize an instance of HTML document from 'https://httpbin.org/forms/post' url
2using (var document = new Aspose.Html.HTMLDocument(@"https://httpbin.org/forms/post"))
3{
4 // Create an instance of Form Editor
5 using (var editor = Aspose.Html.Forms.FormEditor.Create(document, 0))
6 {
7 // You can fill the data up using direct access to the input elements, like this:
8 editor["custname"].Value = "John Doe";
9
10 document.Save("out.html");
11
12 // or this:
13 var comments = editor.GetElement<Aspose.Html.Forms.TextAreaElement>("comments");
14 comments.Value = "MORE CHEESE PLEASE!";
15
16 // or even by performing a bulk operation, like this one:
17 editor.Fill(new Dictionary<string, string>()
18 {
19 {"custemail", "john.doe@gmail.com"},
20 {"custtel", "+1202-555-0290"}
21 });
22
23 // Create an instance of form submitter
24 using (var submitter = new Aspose.Html.Forms.FormSubmitter(editor))
25 {
26 // Submit the form data to the remote server
27 // If you need you can specify user-credentials and timeout for the request, etc.
28 var result = submitter.Submit();
29
30 // Check the status of the result object
31 if (result.IsSuccess)
32 {
33 // Check whether the result is in json format
34 if (result.ResponseMessage.Headers.ContentType.MediaType == "application/json")
35 {
36 // Dump result data to the console
37 Console.WriteLine(result.Content.ReadAsString());
38 }
39 else
40 {
41 // Load the result data as an HTML document
42 using (var resultDocument = result.LoadDocument())
43 {
44 // Inspect HTML document here.
45 }
46 }
47
48 }
49 }
50 }
51}
Aspose.HTML предлагает бесплатные Веб-приложения HTML, которые представляют собой онлайн-коллекцию конвертеров, слияний, загрузчиков, инструментов SEO, генераторов кода HTML, инструменты URL и многое другое. Приложения работают в любой операционной системе с веб-браузером и не требуют установки дополнительного программного обеспечения. Легко конвертируйте, объединяйте, кодируйте, генерируйте HTML-код, извлекайте данные из Интернета или анализируйте веб-страницы с точки зрения SEO, где бы вы ни находились. Используйте нашу коллекцию веб-приложений HTML, чтобы выполнять повседневные задачи и сделать свой рабочий процесс безупречным!