HTML formları, kullanıcılardan girdi almak için sıklıkla kullanılır. Giriş için Onay Kutusu, Metin, Radyo ve Gönder düğmesini içeren farklı form alanlarını doldurabilirsiniz. HTML formunu C# dilini kullanarak programlı olarak oluşturabilir veya doldurabilirsiniz. Bu makale, HTML formlarıyla ilgili aşağıdaki bölümleri kapsar:
- HTML Formu Oluşturun veya Doldurun - C# API Kurulumu
- C# kullanarak Programlı Olarak Bir HTML Formu Oluşturun
- HTML Formunu C# Gönder Düğmesiyle Doldurun
- Ücretsiz API Lisansı
HTML Formu Oluşturun veya Doldurun - C# API Kurulumu
Aspose.HTML for .NET API, C# dilini kullanarak programlı olarak Gönder düğmeleriyle HTML formları oluşturmanıza veya doldurmanıza olanak tanır. İndirilenler bölümünden bir DLL dosyası indirerek API’yi yapılandırabilir veya aşağıdaki NuGet kurulum komutuyla hızlıca kurabilirsiniz:
PM> Install-Package Aspose.Html
C# kullanarak Programlı Olarak Bir HTML Formu Oluşturun
C# dilini kullanarak programlı olarak bir HTML formu oluşturabilirsiniz. Sıfırdan oluşturmak için lütfen aşağıdaki adımları izleyin:
- HTMLDocument sınıfının bir örneğini başlatın.
- CreateNew yöntemiyle yeni HTML formu oluşturun.
- Basit metin türü alanını girin.
- Bir radyo düğmesi giriş öğesi oluşturun.
- Gönder düğmesini HTML biçiminde girin ve mevcut düğümleri ekleyin.
- HTML formunu kaydedin.
Aşağıdaki kod, C# kullanarak programlı olarak bir HTML formunun nasıl oluşturulacağını gösterir:
// HTMLDocument sınıfının bir örneğini başlat
using (HTMLDocument document = new HTMLDocument())
{
// CreateNew() yöntemiyle yeni HTML formu oluşturun
using (var editor = FormEditor.CreateNew(document))
{
// Basit metin türü alanını girin
var name = editor.AddInput("name");
name.Type = InputElementType.Text;
// Bir radyo düğmesi girin
var size = editor.AddInput("size");
size.Type = InputElementType.Radio;
size.HtmlElement.InnerHTML = "Sample Text";
// HTML biçiminde giriş gönderme düğmesi
var button = editor.Add<Forms.ButtonElement>("btn");
button.Value = "submit";
button.HtmlElement.InnerHTML = "Sample Button";
// Geçerli düğümü ekler
document.Body.AppendChild(editor.Form);
}
// HTML formunu kaydet
document.Save("Create-HTML-Form.html");
}
Ayrıca, aşağıda C# dilinde yerel HTML form öğesini kullanarak HTML formu oluşturmak için başka bir yaklaşım yer almaktadır:
// Yerel HTML API'sini kullanarak bir HTML Formu oluşturun
using (var document = new Aspose.Html.HTMLDocument())
{
var editor = Aspose.Html.Forms.FormEditor.CreateNew(document);
var body = document.Body;
// form öğesi oluştur
var form = (HTMLFormElement)document.CreateElement("form");
// form.Action = "action_page.php";
// FirstName etiketi oluştur
var label = (HTMLLabelElement)document.CreateElement("label");
label.TextContent = "First name:";
label.For = "fname";
form.AppendChild(label);
form.AppendChild(document.CreateElement("br"));
// Ad alanı oluştur
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"));
// Soyadı etiketi oluştur
label = (HTMLLabelElement)document.CreateElement("label");
label.TextContent = "Last name:";
label.For = "lname";
form.AppendChild(label);
form.AppendChild(document.CreateElement("br"));
// Soyadı alanı oluştur
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 alanı oluştur
input = (HTMLInputElement)document.CreateElement("input");
input.Type = "radio";
input.Id = "radio1";
input.Name = "Topping";
form.AppendChild(input);
// RadioButton etiketi oluştur
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 alanı oluştur
input = (HTMLInputElement)document.CreateElement("input");
input.Type = "radio";
input.Id = "radio2";
input.Name = "Topping";
form.AppendChild(input);
// RadioButton etiketi oluştur
label = (HTMLLabelElement)document.CreateElement("label");
label.TextContent = "Female";
label.For = "radio2";
form.AppendChild(label);
form.AppendChild(document.CreateElement("br"));
form.AppendChild(document.CreateElement("br"));
// Gönder düğmesini oluştur
input = (HTMLInputElement)document.CreateElement("input");
input.Type = "submit";
input.Value = "Submit";
form.AppendChild(input);
body.AppendChild(form);
document.Save(dataDir + "Create-HTML-Form.html");
}
Aşağıdaki ekran görüntüsü, yukarıdaki kod parçasıyla oluşturulan çıktı HTML formunu gösterir:
HTML Formunu C# Gönder Düğmesiyle Doldurun
Bir HTML formunun nasıl oluşturulacağını zaten araştırdınız. Artık HTML formunu nasıl dolduracağınızı ve verileri herhangi bir uzak sunucuya doğrudan C# uygulamanızdan nasıl göndereceğinizi öğrenebilirsiniz. Formdaki farklı öğeleri yineleyebilir ve ardından verileri göndermek için Gönder düğmesini kullanabilirsiniz. Burada, httpbin.org tarafından oluşturulmuş bir şablon formu ile çalışacaksınız. Aşağıda öğrenmekte olduğunuz Doldurma Metni, Radyo düğmeleri ve Onay Kutularını içerir:
Giriş Türü Onay Kutusundaki Değeri Seçin
Birden fazla seçenek belirlemeniz gerektiğinde onay kutuları yardımcı olur. Aşağıdaki kod ile giriş tipi onay kutusundaki değeri kolayca seçebilirsiniz:
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)
{
// Onay kutularında her iki seçeneği de soğan ve peynir olarak seçin
if (input.Value == "onion" || input.Value == "cheese")
{
input.SetCheckboxValue(true);
}
}
Giriş Türü Metin ve Radyo Alanını Doldurun
Bir HTML formu, veri toplamak için birkaç metin kutusu ve radyo düğmesi alanı içerebilir. Giriş metnini aşağıdaki kodla doldurabilirsiniz:
// Girdi öğelerine doğrudan erişimi kullanarak verileri şu şekilde doldurabilirsiniz:
editor["custname"].Value = "Aspose";
// veya bu:
var comments = editor.GetElement<Aspose.Html.Forms.TextAreaElement>("comments");
comments.Value = "Extra Ketchup PLEASE!";
// hatta bunun gibi toplu bir işlem gerçekleştirerek:
editor.Fill(new Dictionary<string, string>()
{
{"custemail", "test@test.com"},
{"custtel", "+123-456-789"}
});
Aynı şekilde radyo butonu alanlarını da aşağıdaki kod ile seçebilirsiniz:
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)
{
// Radyo düğmesinde boyut olarak ortamı seçin
if (input.Value == "medium")
{
input.SetRadioValue(true);
}
}
HTML’de Gönder Düğmesi ile Veri Gönderme
FormSubmitter sınıfını kullanarak Gönder butonu ile doldurulan verileri HTML formunda gönderebilirsiniz. Aşağıdaki kod, C# kodunda Submit() yönteminin nasıl çağrılacağını gösterir:
// Bir form gönderici örneği oluşturun
var submitter = new Aspose.Html.Forms.FormSubmitter(editor);
// Form verilerini uzak sunucuya gönderin.
// Gerekirse, aşırı yükleme yöntemleriyle kullanıcı kimlik bilgilerini ve istek için zaman aşımını vb. belirtebilirsiniz.
var result = submitter.Submit();
Kaynak kodu
C# kullanarak HTML formlarını programlı olarak doldurmak için eksiksiz kaynak kodu aşağıdadır:
// 'https://httpbin.org/forms/post' url'sinden bir HTML belgesi örneği başlatın
using (var document = new HTMLDocument(@"https://httpbin.org/forms/post"))
{
// Bir Form Düzenleyici örneği oluşturun
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)
{
// Radyo düğmesinde boyut olarak ortamı seçin
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)
{
// Onay kutularında her iki seçeneği de soğan ve peynir olarak seçin
if (input.Value == "onion" || input.Value == "cheese")
{
input.SetCheckboxValue(true);
}
}
// Girdi öğelerine doğrudan erişimi kullanarak verileri şu şekilde doldurabilirsiniz:
editor["custname"].Value = "Aspose";
// veya bu:
var comments = editor.GetElement<Aspose.Html.Forms.TextAreaElement>("comments");
comments.Value = "Extra Ketchup PLEASE!";
// hatta bunun gibi toplu bir işlem gerçekleştirerek:
editor.Fill(new Dictionary<string, string>()
{
{"custemail", "test@test.com"},
{"custtel", "+123-456-789"}
});
// Bir form gönderici örneği oluşturun
using (var submitter = new Aspose.Html.Forms.FormSubmitter(editor))
{
// Form verilerini uzak sunucuya gönderin.
// Gerekirse, istek için kullanıcı kimlik bilgilerini ve zaman aşımını vb. belirtebilirsiniz.
var result = submitter.Submit();
// Sonuç nesnesinin durumunu kontrol edin
if (result.IsSuccess)
{
// Sonucun json formatında olup olmadığını kontrol edin
if (result.ResponseMessage.Headers.ContentType.MediaType == "application/json")
{
// Sonuç verilerini konsola aktarın
Console.WriteLine(result.Content.ReadAsString());
}
else
{
// Sonuç verilerini bir HTML belgesi olarak yükleyin
using (var resultDocument = result.LoadDocument())
{
// HTML belgesini buradan inceleyin.
}
}
}
}
}
}
Ücretsiz API Lisansı
Ücretsiz Geçici Lisans talep ederek Aspose.HTML for .NET API’yi herhangi bir Değerlendirme Sınırlaması olmaksızın değerlendirebilirsiniz.
Çözüm
Sonuç olarak, sıfırdan bir HTML formu oluşturmayı, ayrıca mevcut bir HTML formunu nasıl dolduracağınızı ve C# uygulamanızdan uzak bir sunucuya veri göndermeyi öğrendiniz. Diğer bazı özellikleri keşfetmek için Belgeler bölümünü de ziyaret edebilirsiniz. Herhangi bir sorunuz için lütfen Ücretsiz Destek Forumu üzerinden bizimle iletişime geçmekten çekinmeyin.