Forum

MVC'de View'e değiş...
 
Bildirimler
Hepsini Temizle

[Çözüldü] MVC'de View'e değişken sayıda model göndermek

4 Yazılar
2 Üyeler
0 Reactions
8,722 Görüntüleme
(@mehmetpeker)
Gönderiler: 12
Eminent Member
Konu başlatıcı
 
[#505398]

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.


 
Gönderildi : 12/01/2017 20:19
(@volkanalkilic)
Gönderiler: 137
Estimable Member
 

Hatayı paylaşırsanız daha kolay yardım alırsınız.


 
Gönderildi : 12/01/2017 21:58
(@mehmetpeker)
Gönderiler: 12
Eminent Member
Konu başlatıcı
 

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]'.


 
Gönderildi : 13/01/2017 00:53
(@volkanalkilic)
Gönderiler: 137
Estimable Member
 

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.


 
Gönderildi : 13/01/2017 02:31
Paylaş: