2011-01-22 24 views
25

Bu mvc 3 ekibi bir denetleyici ve viewbag denilen bir görünüm arasında dinamik veri alışverişi için bir özellik getirmeye karar vermiş gibi görünüyor ama hepimizin bildiği güçlü yazılan görünümü karşı iyi bir şey mi? Fikrinizi ister misiniz? Bu özellik güçlü yazılan görünümün yerini alacak mı? (viewmodels)MVB'de ViewBag bozuk mu kullanıyor?

+0

Evet, ViewBag bozuk. Güçlü yazma, birçok nedenden dolayı (kendiniz için araştırma yapabilirsiniz) en iyi uygulamadır. ViewBag'ı çok dikkatli kullanırdım. Bu gibi kötü uygulamalarla GERÇEK problem ortaya çıkmaktadır, çünkü insanlar projeden projeye kod kesme ve yapıştırma eğilimi gösterirler. Böylece çözümlerinizi bir hastalık gibi enfekte eder. Neden iyi kod yazmak için zaman ayırmıyorsunuz? Ardından geliştirme hızı sorunsa, bu kodu dahili bir NuGet sunucusunu kullanarak paylaşın (bunun yerine). –

cevap

33

ViewBag, önceki ASP.NET MVC 1 ve 2'deki ViewData ile aynı şeydir. Sadece anahtarlar olan bir sözlük gibi kullanmak yerine dinamik olur. Bunun kesinlikle yazılan görünümlerin yerini alacağını düşünmüyorum ve aslında Viewdata/Viewbag'i mümkün olduğunca az kullanmalısınız. Viewdata/Viewbag'inizdeki adlar değiştiğinde ve ViewData'nın her yerde yer almaması nedeniyle HTML temizleyicisini değiştirirse, daha az hataya neden olacağından, her zaman güçlü yazılan görünümler kullanın.

+4

O zaman neden Microsoft ViewBag'ı yarattı? –

+2

@CarstenGehling işte orada, eğer seçerseniz, işleri hızlı ve kirli bir şekilde yapma seçeneğine sahipsiniz. Bazen işin hızlı ve kirli bir çözüme ihtiyacı vardır ve MVC bu çağrıyı sizin için yapmaya çalışmamaktadır. Sana kalmış. – Chris

+9

Bunun, "Kötü uygulama" dünyasına yeni başlayanlar getirdiğini söyleme eğilimindeyim. – Rushino