Yani, başlık kendisi için konuşmalıdır.
ASP.NET MVC'de yeniden kullanılabilir bileşenler oluşturmak için 3 seçeneğimiz var (bahsetmediğim diğerleri olabilir):
Kısmi görüntü:
@Html.Partial(Model.Foo, "SomePartial")
Özel Editör Şablonu:
@Html.EditorFor(model => model.Foo)
Özel Ekran Şablonu:
@Html.DisplayFor(model => model.Foo)
Gerçek Görünüm / HTML açısından, her üç uygulama da aynıdır:
@model WebApplications.Models.FooObject
<!-- Bunch of HTML -->
Benim sorum şu - üçünden hangisini kullanacağına ne zaman / nasıl karar veriyorsunuz?
Gerçekten aradığım şey, cevapları hangi şablonun kullanılacağına karar vermek için kullanılabilecek bir tane oluşturmadan önce kendinize sormanız gereken soruların bir listesidir.
EditorFor / DisplayFor ile daha iyi bulduğum 2 şey:
HTML yardımcılarını oluştururken model hiyerarşilerine saygı duyarlar (örneğin, "Foo" modelinizde "Bar" nesneniz varsa, "Bar" için HTML öğeleri "Foo.Bar.ElementName" ile oluşturulurken, bir kısmi " ElementName ").
Daha sağlam, örneğin
List<T>
ViewModel'inizde bir şey varsa, kullanabilirsiniz@Html.DisplayFor(model => model.CollectionOfFoo)
ve MVC, bir koleksiyon görecek ve her öğe için tek bir ekranı görüntüleyecek kadar akıllıdır (bir Kısmi yerine, döngü).
Ayrıca DisplayFor "salt okunur" bir şablon oluşturur duydum, ama ben bunu anlamıyorum - orada bir form alamadı?
Birisi bana başka nedenler söyleyebilir mi? Bir yerde üçünü karşılaştıran bir liste / makale var mı?