Html.Textbox ve Html.TextboxFor arasındaki fark nedir?
Html.Textbox ve Html.TextboxFor arasındaki fark nedir?
Yanıtlar:
Nihayetinde ikisi de aynı HTML'yi üretir ancak Html.TextBoxFor () , Html.TextBox'ın olmadığı yerde güçlü bir şekilde yazılır .
1: @Html.TextBox("Name")
2: Html.TextBoxFor(m => m.Name)
ikisi de üretecek
<input id="Name" name="Name" type="text" />
Peki bu kullanım açısından ne anlama geliyor?
Genellikle iki şey:
TextBoxFor
, sizin için giriş adlarınızı oluşturacaktır. Bu genellikle yalnızca mülk adıdır, ancak karmaşık türlerin özellikleri için 'müşteri_adı' gibi bir alt çizgi içerebilirTextBoxFor
sürümü kullanmak, derleme zamanı kontrolünü kullanmanıza izin verecektir. Dolayısıyla, modelinizi değiştirirseniz, görünümlerinizde herhangi bir hata olup olmadığını kontrol edebilirsiniz.Genel olarak, MVC2'ye eklenen HtmlHelpers'ın güçlü biçimde yazılmış sürümlerini kullanmak daha iyi bir uygulama olarak kabul edilir .
TextBoxFor
MVC2 tanıtılan yeni bir MVC giriş uzantısıdır.
Daha yeni tiplendirilmiş uzantıların ana yararı, çalışma zamanı yerine derleme zamanında hataları / uyarıları göstermektir.
Bu sayfaya bakın.
http://weblogs.asp.net/scottgu/archive/2010/01/10/asp-net-mvc-2-strongly-typed-html-helpers.aspx
IMO'nun temel farkı, Textbox'ın güçlü bir şekilde yazılmış olmamasıdır. TextboxFor, yardımcıya modelin with öğesinin yazılı bir görünümde kullanmasını söyleyen bir parametre olarak lambda almak.
Her ikisiyle de aynı şeyleri yapabilirsiniz, ancak mümkün olduğunda yazılı görünümleri ve TextboxFor'u kullanmalısınız.
Html.TextBox ve Html.DropDownList güçlü bir şekilde yazılmamıştır ve bu nedenle güçlü bir şekilde yazılmış bir görünüm gerektirmez. Bu, istediğimiz adı kodlayabileceğimiz anlamına gelir. Öte yandan, Html.TextBoxFor ve Html.DropDownListFor güçlü bir şekilde yazılır ve güçlü bir şekilde yazılmış bir görünüm gerektirir ve ad, lambda ifadesinden çıkarılır.
Kesin yazılmış HTML yardımcıları ayrıca derleme zamanı denetimi sağlar.
Gerçek zamanlı olarak, çoğunlukla güçlü yazılmış görünümler kullandığımız için, benzerleri yerine Html.TextBoxFor ve Html.DropDownListFor kullanmayı tercih ediyoruz.
İster Html.TextBox & Html.DropDownList VEYA Html.TextBoxFor & Html.DropDownListFor kullanalım, sonuç aynıdır, yani aynı HTML'yi üretirler.
MVC2'ye kesin olarak yazılmış HTML yardımcıları eklenir.