Forum
Merhabalar;
ASP.NET MVC 5 üzerinde;
Veritabanımda bulunan tüm kategoriler için en fazla 4 ürünü anasayfamda listelemek istiyorum.
Son denemem aşağıda, bu şekilde dynamic listesine ürünleri alıyorum ancak View'e nasıl göndereceğimi bulamadım ViewBag içine koyduğumda hata fırlatıyor.
List<dynamic> dynamiclist = new List<dynamic>();
int kategorisayisi = context.Kategoris.Where(x => x.Aktif == true).Count();
var k = context.Kategoris.Where(x => x.Aktif == true).ToList();
for (int i = 0; i < kategorisayisi; i++)
{
foreach (var item in k)
{
dynamiclist.Add(context.Uruns.Where(x => x.Aktif == true).Where(x => x.KategoriID == item.Id).Take(4));
ViewData[i.ToString()] = context.Uruns.Where(x => x.Aktif == true).Where(x => x.KategoriID == item.Id).Take(4);
}
}
return View(dynamiclist);
Yardımlarınız için teşekkürler.
Hatayı paylaşırsanız daha kolay yardım alırsınız.
Hatayı paylaşırsanız daha kolay yardım alırsınız.
Bu kodlar için aldığım hata:
The model item passed into the dictionary is of type 'System.Collections.Generic.List`1[System.Object]', but this dictionary requires a model item of type 'System.Collections.Generic.IEnumerable`1[E_Commerce.Urun]'.
Hata yanlış veri türü gönderidiğinizi söylüyor. List<dynamic> dynamiclist = new List<dynamic>(); yerine List<Urun> dynamiclist = new List<Urun>(); olarak deneyin. Ayrıca context.Uruns.Where(x => x.Aktif == true).Where(x => x.KategoriID == item.Id).Take(4) yerine context.Uruns.Where(x => x.Aktif == true && x.KategoriID == item.Id).Take(4) daha kolay olacaktır.