Asp.Net MVC İç İçe Model Kullanımı
-
Aslında klasik asp.net'te çok basit olan mvc'de yapamadığım bişey soracağım. Mesele iç içe bağlantılı veri listelemek. View katmanı bir model alıyor onu foreach ile döndürüyoruz buraya kadar tamam. Ama bu model içinden gelen bilgiye göre başka bir data daha listelenmesi lazım bunu nasıl yapabiliriz.
iç içe repeater yani.
Kısaca html çıktı alttaki gibi.- MEYVE
----Armut
----Muz
----Kiraz
- SEBZE
----Pırasa
----Patates -
Önce helper tanımlıyoruz
@helper ServiceItem(ServerManager.Models.Service service){ @* Burada ben modelin içinde child liste olduğunu varsaydım fakat sen tekrar metod çağırabilirsin*@ @if (service.ChildService != null && service.ChildService.Count < 1) { <div class="state" id="@service.Id-state"></div> } else { <div class="state passive" id="@service.Id-state"></div> } }Sonra bu helper yardımıyla child listeyi yazdırıyoruz
foreach (ServerManager.Models.Service service in serviceGroup.Services) { @ServiceItem(service); } -
@model XXX
@foreach(var a in Model){
a
@foreach(var b in a){
b
}
}
gibi bişey işini görmüyor mu ?
-
hocalar helper değilde @SinusX dediği şekle yakın hallettim.
Önce bi database üzerinde diagram oluşturdum iki tabloda ki ortak kolonu bağladım birbirine. Daha sonra "reverse engineer code first" ile update ettim. O sıra zaten model klasöründe ki classlar yenilendi.
kategori klasına şu eklendi ==> public virtual ICollection<Meyve> Meyves { get; set; }
Meyve klası: ==> public virtual Kategori Kategori { get; set; }
// Relationships
this.HasOptional(t => t.Kategori)
.WithMany(t => t.Meyves)
.HasForeignKey(d => d.KategoriID);
Hadi bu şekilde iyi kötü çözdük ancak yüklü datada performans sorunu olacağı besbelli
Tek seferde tüm datayı yüklüyor değil mi kendine bu entity f. ?
