“Sunum mantığı” nedir ve görünümlerde ne kadar kabul edilebilir?


13

Web uygulamamda oluşturma ve düzenleme için bir form sağlamam gerekiyor. Oluşturma ve düzenleme formlarının küçük farklılıkları vardır, bu yüzden bence böyle bir şey yapmayı düşünüyorum:

<form>
// a lot of htnl goes here 
@if (editing)
{
  // some more fields shown in edit mode
}
@if(!editing)
{
 // some stuff shown in create mode
}

Ben her zaman ifbenim görüşüme herhangi bir ifade koymak için çalışmadım , ama bu sefer yapmak istemiyorum iki yerde HTML büyük bir bölümünü kopyalama dışında başka bir seçenek görmüyorum. Bu uygun bir “sunum mantığı” mı ve başka seçenekler var mı?

Yanıtlar:


17

Sunum mantığı, iş verilerinin belirli bir görünüm için doğru şekilde sunulması için gerekli olan mantığı ve hesaplamaları içerir.
Karmaşık grafik görünümler için, bu oldukça karmaşık hesaplamalar olabilir (örneğin, her pasta diliminin boyutunu ve bir pasta grafik için etiketlerin konumlarını hesaplamak), ancak ana karakteristik, yalnızca akımla ilgili bilgileri hesaplamasıdır. ve işletme verilerini hiçbir şekilde değiştirmediğini gösterir.

Düzenleme / oluşturma modu için alan seçiminin sunum mantığının doğru kullanımı olup olmadığı tartışmalıdır. Kısmen özelleştirme türüne ve miktarına bağlıdır.
Örneğin, fark sadece bir başlık değişikliğiyse veya bir veya iki alanı modlardan birinde salt okunur olarak gösteriyorsa, bir görünüme sahip olmak ve modları dinamik olarak seçmek doğru seçim olabilir.
Öte yandan, ilk tepkim, ortak parçaların üçüncü bir dosyadan içe aktarıldığı iki farklı görünüm olması gerektiğiydi (üstbilgi ve altbilginin görünümlere ne kadar sık ​​eklendiğine benzer).


12

Jilet görünümünde bir veya iki deyim kullanmak son derece makul görünmektedir.
Razor'a @ if eklediler - kullanılması gerekiyordu.

Kodunuz bir @ if olarak kısaltılabilir:

@if (editing)
{
  // some more fields shown in edit mode
}
else
{
 // some stuff shown in create mode
}

Bir alternatif üç görünüm kullanmaktır:

  • Ortak HTML'yi içeren kısmi görünüm
  • Görünüm oluştur (kısmi görünümü çağırır)
  • Görünümü düzenle (kısmi görünümü de çağırır)

Salt okunur ve düzenlenebilir görünümleri bölmenin iyi bir yolu olan DisplayTemplates ve EditorTemplates'e göz atabilirsiniz.

http://www.growingwiththeweb.com/2012/12/aspnet-mvc-display-and-editor-templates.html

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.