SORU
17 EYLÜL 2008, ÇARŞAMBA


Geçen ASP.NET MVC Ana Sayfa veri

MVC kuralları bozmadan Ana Sayfa (ASP.NET MVC kullanarak) veri geçen yolu nedir?

Şahsen, tüm görünümler geçer soyut denetleyicisi (temel denetleyicisi) ya da temel sınıf kodu tercih ederim.

CEVAP
14 NİSAN 2009, Salı


Eğer görüşleriniz güçlü bir görünüm veri sınıfları daktilo kullanmayı tercih ediyorsanız bu sizin için işe yarayabilecek. Diğer çözümler muhtemelen daha fazladoğruama bu tasarım ve pratiklik IMHO arasında iyi bir denge.

Ana Sayfa görünüm türü kesin belirlenmiş veri bir sınıf sadece bilgi için ilgili içeren alır:

public class MasterViewData
{
    public ICollection<string> Navigation { get; set; }
}

Her görünüm, Ana Sayfa kullanarak kesinlikle yazılmış görünüm veri sınıfı bilgilerini içeren ve ana sayfa görünüm veri türetmek alır:

public class IndexViewData : MasterViewData
{
    public string Name { get; set; }
    public float Price { get; set; }
}

Bireysel denetleyicileri Ana Sayfa verileri bir araya koyarak hakkında hiçbir şey bilmek istemiyorum çünkü ben her denetleyici için geçirilen bir fabrika içine mantığını özetleyebilir:

public interface IViewDataFactory
{
    T Create<T>()
        where T : MasterViewData, new()
}

public class ProductController : Controller
{
    public ProductController(IViewDataFactory viewDataFactory)
    ...

    public ActionResult Index()
    {
        var viewData = viewDataFactory.Create<ProductViewData>();

        viewData.Name = "My product";
        viewData.Price = 9.95;

        return View("Index", viewData);
    }
}

Miras Efendi ilişkisi iyi görünüm için eşleşen ama giriş / kullanıcı kontrolleri oluşturma gelince sayfaları, veri görüntüleme verilerini, örneğin oluşturmak

public class IndexViewData : MasterViewData
{
    public string Name { get; set; }
    public float Price { get; set; }
    public SubViewData SubViewData { get; set; }
}

<% Html.RenderPartial("Sub", Model.SubViewData); %>

Bu örnek kod, yalnızca ve olduğu gibi derlemek için tasarlanmamıştır. ASP.Net için tasarlanmış MVC 1.0.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Android Developers

    Android Deve

    9 Kasım 2007
  • AndroidSale

    AndroidSale

    17 NİSAN 2011
  • Helder Barreto

    Helder Barre

    22 Mayıs 2006