Oluştur HTML Formunu Doldur C# Gönder

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

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:

  1. HTMLDocument sınıfının bir örneğini başlatın.
  2. CreateNew yöntemiyle yeni HTML formu oluşturun.
  3. Basit metin türü alanını girin.
  4. Bir radyo düğmesi giriş öğesi oluşturun.
  5. Gönder düğmesini HTML biçiminde girin ve mevcut düğümleri ekleyin.
  6. 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 Formu Oluştur Btn Gönder

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.

Ayrıca bakınız