SORU
18 ŞUBAT 2011, Cuma


3 - Kısmi Şablon vs vs Görüntü Düzenleyicisi ASP.NET MVC Şablonu

Yani, başlık kendisi için konuşur.

Yeniden kullanılabilir ASP.NET MVC bileşenleri oluşturmak için 3 seçenek (söz etmedim başkaları da olabilir)

Kısmi Görünüm:

@Html.Partial(Model.Foo, "SomePartial")

Özel Şablon Editörü:

@Html.EditorFor(model => model.Foo)

Özel Şablon Görüntü:

@Html.DisplayFor(model => model.Foo)

Gerçek profili/HTML açısından, üç uygulamaları aynıdır:

@model WebApplications.Models.FooObject

<!-- Bunch of HTML -->

Benim soru - ne zaman/nasıl kullanmak için hangi karar veriyorsunuz?

Gerçekten aradığım şey olan cevaplar için kullanmak üzere şablon üzerinde karar vermek için kullanılabilir, oluşturmadan önce kendinize sormanız gereken soruların bir listesini.

İşte EditorFor/DisplayFor: daha buldum 2 şey

  1. Onlar HTML yardımcıları işlerken saygı modeli hiyerarşileri (e.eğer varsa g "" "" "Foo.işlenmiş olacak Bar" modeli, HTML öğeleri Foo "nesnesine Bar Bar."Kısmi bir irade var iken "") ElementName. ElementName

  2. Daha sağlam, e.g varsa List<T> bir şey senin ViewModel, geçer @Html.DisplayFor(model => model.CollectionOfFoo) ve MGD zeki görmek için bir toplama ve kılmak tek görüntülemek için her öğe (karşıt olarak bir Kısmi, hangi gerektirecek bir açık döngü için).

Ayrıca "salt okunur" şablon, ama anlamıyorum-ben orada bir form atman gerekmiyor muydu? DisplayFor çizer duydum

Birisi bana başka bir sebep söyleyebilir misiniz? Bir liste/yazı bir yerde üç karşılaştıran var mı?

CEVAP
18 ŞUBAT 2011, Cuma


EditorFor vs DisplayFor basittir. Yöntemleri semantiği/ınsert oluşturmak düzenlemek ve/salt okunur görünümler (sırasıyla) görüntülemek için. Veri (model değerleri içeren divs ve yayılan oluşturduğunuzda yani) görüntüleme DisplayFor kullanın. Veri ekleme (form içine girdi etiketler oluşturmak gibi) düzenleme/EditorFor kullanın.

Yukarıdaki yöntemlerden modeli merkezli. Bu demektir ki onlar alacak modeli meta hesabı (örneğin edebilirsin açıklama model sınıfı [UIHintAttribute] [DisplayAttribute] ve bu etki hangi şablonu alır seçilen oluşturmak için UI modeli. Ayrıca genellikle veri modelleri (veritabanı, vb bir satır temsil eden yani modeller) için kullanılır

Diğer yandan Partial doğru kısmi görünümü seçme çoğunlukla ilgili olduğunuz görünümü odaklı. Görünüm mutlaka düzgün bir modele ihtiyacı yok. Sadece site genelinde yeniden alır biçimlendirme ortak bir dizi var. Tabii ki çoğu kez, bu durumda size uygun bir model görünümü geçirmek isteyebilirsiniz bu kısmi davranışını etkiler.

Ayrıca belirtilmesi gereken @Html.Action burada sormadın. Denetleyicisi çocuk bir eylem yürütür o Partial daha güçlü bir versiyonu olarak düşün ve sonra bir görünüm genellikle kısmi bir görünümü olan işler. Bu alt Eylem kısmi bir görünümde ait olmayan ek iş mantığı yürütmek önemlidir. Örneğin alışveriş sepeti bir bileşeni temsil eder. Bunu kullanmak için bir sebep sepeti ile ilgili uygulamanızda her kontrolör iş alışveriş gerçekleştirmek önlemek için.

Sonuçta seçim uygulamanızda modelleme sen ne bağlıdır. Ayrıca mix ve MAÇ unutmayın. Örneğin EditorFor yardımcı çağıran kısmi bir görünümü var. Gerçekten uygulama ve tekrarı kaçınarak maksimum kod yeniden kullanımını teşvik etmek için faktör nasıl bağlıdır.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Awesomesauce Network

    Awesomesauce

    4 EKİM 2012
  • MrExcite96

    MrExcite96

    17 ŞUBAT 2011
  • Rayone GB

    Rayone GB

    14 Temmuz 2007