kesinlikle yazılı html yardımcısı kullanmak için iyi bir neden var mı ... aksineHtml.DisplayTextFor() noktasının amacı nedir?
<%: Html.DisplayTextFor(model => model.Email) %>
...
<%: Model.Email %>
kesinlikle yazılı html yardımcısı kullanmak için iyi bir neden var mı ... aksineHtml.DisplayTextFor() noktasının amacı nedir?
<%: Html.DisplayTextFor(model => model.Email) %>
...
<%: Model.Email %>
aşağıdaki Modeli düşünün: Bence
public class MyModel
{
public string Name { get; set; }
[DisplayFormat(NullDisplayText = "No value available!")]
public string Email { get; set; }
}
:
<%= Html.DisplayTextFor(m => m.Email) %>
<%: Model.Email %>
biz oysa 'boş' olduğu Email bırakırsanız "yok değerini" görüntüler ilk satırı ikinci satır hiçbir şey göstermeyecek.
Sonuç: Html.DisplayTextFor, mülklerinizde dikkate DataAnnotations alacak <%: Model.Email %>
olmaz. Ayrıca <%: Model.Email %>
, değer boş olduğunda "Nesne başvuru hatası" atar ancak <%= Html.DisplayTextFor %>
alışkanlık yapmaz.
Bir de geçemiyor buysa, DisplayTextFor kırmak olmaz model (veya null). Model.Email boş bir istisna atar. Yani, DisplayTextFor daha sağlamdır. kesinlikle yazılı yardımcılarından
nokta daha derleme zamanı kontrol sağlamaktır. Bu refactoring yaparken çok kullanışlıdır.
DisplayTextFor, sayfa boyunca tutarlı bir yapı (diğer güçlü yazılan yardımcılarla birlikte) kullanılmasına izin verir. Bazı insanlar bunu daha çekici bulabilir.
DisplayTextFor ayrıca, şablonların ve alanların adlarını parametre olarak geçirmenizi de sağlar.
DisplayTextFor da "DisplayFor" ve "EditFor" yürütülürken adlı. Bu, herhangi bir şablonlu yardımcıların, ayarlanmışsa doğru Templated Helper'ları kullanarak metni göstermesini sağlar ... böylece tek şablonlu yardımcıya yapılan bir değişiklik, o metin öğesinin tüm ekranları boyunca yayılır ... basit ekran, form düzenleme, formlar oluşturma vb. vb
Yani, model özelliği için .ToString() gibi bir şey mi diyorsunuz? Eğer öyleyse, model özelliği karmaşık bir tür olsaydı yararlı olduğunu görebiliyordu. –