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

  • maxman.tv

    maxman.tv

    29 EKİM 2013
  • Submissions101

    Submissions1

    23 ŞUBAT 2007
  • TeachMeComputer

    TeachMeCompu

    31 EKİM 2009