ASP.NET MVC - HTML yardımcıları

HTML yardımcıları, HTML çıktısını değiştirmek için kullanılır.

HTML yardımcıları

MVC ile, HTML yardımcıları geleneksel ASP.NET Web Form kontrolüne benzer.

ASP.NET web form kontrolü gibi, HTML yardımcıları HTML'i değiştirmek için kullanılır. Ancak HTML yardımcıları daha hafiftir. Web form kontrolü ile farklı olarak, HTML yardımcıları bir olay modeli ve view state'ı yoktur.

Çoğu durumda, HTML yardımcıları yalnızca string döndüren yöntemlerdir.

MVC ile, kendi yardımcılarınızı oluşturabilir veya yerleşik HTML yardımcılarını kullanabilirsiniz.

Standart HTML yardımcıları

MVC, HTML bağlantısı ve HTML formu öğeleri gibi en yaygın kullanılan HTML öğe türlerinin standart yardımcılarını içerir.

HTML bağlantısı

HTML bağlantısını sunmanın en basit yolu, Html.ActionLink() yardımcısı kullanmaktır.

MVC ile, Html.ActionLink() görünümü bağlantısına bağlanmaz. Kontrolör eylemi (controller action) bağlantısı oluşturur.

Razor dilbilgisi:

@Html.ActionLink("About this Website", "About")

ASP dilbilgisi:

<%=Html.ActionLink("About this Website", "About")%>

İlk parametre bağlantı metnidir, ikinci parametre kontrolcü operasyonunun adıdır.

Yukarıdaki Html.ActionLink() yardımcısı, aşağıdaki HTML'yi çıktırır:

<a href="/Home/About">Bu Web Sitesi Hakkında</a>

Html.ActionLink() yardımcısının birkaç parametresi:

Parametre Açıklama
linkText Lokasyon elementinin iç metni.
actionName Operasyonun adı.
controllerName Kontrolcünün adı.
protocol URL protokolü, örneğin “http” veya “https”.
hostname URL'nin ana bilgisayarı.
fragment URL parçası adı (lokasyon adı).
routeValues Rota parametrelerini içeren bir nesne.
htmlAttributes Bu element için ayarlanacak HTML özelliklerini içeren bir nesne.

Açıklama:Kontrolcü operasyonlarına değer iletilmesi mümkündür. Örneğin, veritabanı düzenleme işlemine veritabanı kayıt kimliği (id) iletilmesi mümkündür.

Razor Sözdizimi C#:

@Html.ActionLink("Kaydı Düzenle", "Edit", new {Id=3})

Razor Sözdizimi VB:

@Html.ActionLink("Kaydı Düzenle", "Edit", New With{.Id=3})

Yukarıdaki Html.ActionLink() yardımcısı, aşağıdaki HTML'yi çıktırır:

<a href="/Home/Edit/3">Kaydı Düzenle</a>

HTML Form Elemanları

Aşağıdaki HTML yardımcıları, HTML form elementlerini sunmak (değiştirmek ve çıktılamak) için kullanılabilir:

  • BeginForm()
  • EndForm()
  • TextArea()
  • TextBox()
  • CheckBox()
  • RadioButton()
  • ListBox()
  • DropDownList()
  • Hidden()
  • Password()

ASP.NET Sözdizimi C#:

<%= Html.ValidationSummary("Oluşturma başarısız oldu. Lütfen hataları düzeltin ve 
tekrar deneyin.") %>
<% using (Html.BeginForm()){%>
<p>
<label for="FirstName">İlk Ad:</label>
<%= Html.TextBox("FirstName") %>
<%= Html.ValidationMessage("FirstName", "*") %>
</p>
<p>
<label for="LastName">Soyadı:</label>
<%= Html.TextBox("LastName") %>
<%= Html.ValidationMessage("LastName", "*") %>
</p>
<p>
<label for="Password">Parola:</label>
<%= Html.Password("Password") %>
<%= Html.ValidationMessage("Password", "*") %>
</p>
<p>
<label for="Password">Parola Onayı:</label>
<%= Html.Password("ConfirmPassword") %>
<%= Html.ValidationMessage("ConfirmPassword", "*") %>
</p>
<p>
<label for="Profile">Profil:</label>
<%= Html.TextArea("Profile", new {cols=60, rows=10})%>
</p>
<p>
<%= Html.CheckBox("ReceiveNewsletter") %>
<label for="ReceiveNewsletter" style="display:inline">Newsletter Almak İstiyor musunuz?</label>
</p>
<p>
<input type="submit" value="Register" />
</p>
<%}%>