Şimdi Ara

Asp.net Mvc EFCfodefirst ürünleri kategoriye göre listeleme?

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
4 Misafir - 4 Masaüstü
5 sn
4
Cevap
0
Favori
1.163
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Arkadaşlar Asp.net Mvc de bir web sayfası geliştirmeye çalışıyorum. Kategorileri veya ürünleri listeleyebiliyorum fakat kategori bazlı listelemeyi bir türlü beceremedim.Kategorileri veritabanından çekip tab menu olarak basıyorum.Bu tab menulerden hangisine basılırsa sadece o kategorideki ürünler listelensin istiyorum fakat yapamadım.Nette bir kaç örnek buldum ama bir türlü beceremedim.
    Controller
    public PartialViewResult Inndex(int? id)
    {
    if (id!=null)
    {
    ViewBag.Kategoriler = id;
    var urunlist = ctx.Urunler.Where(x => x.KategoriID == id);
    return PartialView(urunlist);
    }
    else
    {
    var urunlist = ctx.Urunler.ToList();
    return PartialView(urunlist);
    }
    }

    Listeleme sayfası
    @model IEnumerable<WebApplication6.Urunler>

    <table class="table">
    <tr>


    <th>
    @Html.DisplayNameFor(model => model.UrunAdi)
    </th>

    <th>
    @Html.DisplayNameFor(model => model.Fiyat)
    </th>

    </tr>

    @foreach (var item in Model) {
    <tr>

    <td>
    @Html.DisplayFor(modelItem => item.UrunAdi)
    </td>

    <td>
    @Html.DisplayFor(modelItem => item.Fiyat)
    </td>

    </tr>
    }

    </table>

    Kategorilerin tab menu olarak basıldığı sayfa

     @foreach (Kategoriler ktg in ViewBag.Kategoriler)
    {
    @*@<button class="w3-bar-item w3-button tablink" onclick="openCity(event, @ktg.KategoriID )">@ktg.KategoriAdi</button>*@
    @Html.ActionLink(ktg.KategoriAdi, "Inndex", "Urun", new { id = ktg.KategoriID }, null);

    }

    Tam olarak yapmak istediğim tab menüdeki veritabanından gelen kategoriye tıkladığımda Partialview ile Sekmenin altında sadece o kategoriye ait ürünleri listelemek.Nasıl yapabilirim acaba?



    < Bu mesaj bu kişi tarafından değiştirildi king_golden -- 12 Temmuz 2018; 17:49:51 >







  • Hocam öncelikle kolay gelsin 5 gün geçmiş sorunu çözdünüz mü bilemiyorum fakat şöyle bir öneride bulunacağım. Javascript ile dropdownlistte seçilen indexin değerini alıp ona göre tekrar viewı doldurabilirsiniz.
  • @foreach (Kategoriler ktg in ViewBag.Kategoriler)
    {
    @*@<button class="w3-bar-item w3-button tablink" onclick="openCity(event, @ktg.KategoriID )">@ktg.KategoriAdi</button>*@
    @Html.ActionLink(ktg.KategoriAdi, "Inndex", "Urun", new { id = ktg.KategoriID }, null);

    <div class="tabContent">
    @Html.Action("Inndex",ktg.Id)
    </div>

    }

    eğer kategori sayın fazla değilse bu işini görür. yoksa her kategori butonuna bastığında bir ajax request gonder sonucu olan partial view alıp tab content e bassın.
    kategori 5 den fazlaysa bence ajax yap

    bir de tavsiyem viewbag yerine model kullan. Geniş bir modelin olun onu doldur. ihtiyacın olan herşeyi ona koy böylece view in ihtiyaçları daha explicit olarak belirtimiş olur. viewbag dinamik bir nesne type safety candır.
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.