Duyuruyu Kapat
Facebook Gözat
Twitter Gözat

MVC Dinamik Sorgu

Konu, 'ASP.NET MVC' kısmında UgurOnline tarafından paylaşıldı.

  1. UgurOnline

    UgurOnline Üye

    Kayıt:
    11 Temmuz 2008
    Mesajlar:
    138
    Beğenilen Mesajlar:
    0
    Şehir:
    İstanbul
    arkadaşlar mvc'yi yeni öğrenmeye başladım. sorgulatma kısmında sıkıntı yaşıyorum.

    view sayfamdaki dropdown'da seçilen veriyi, sqlhelper.cs sayfamdaki sorguya nasıl ekletebilirim?

    örnek olarak aşağıda değişken yazan yere dropdown'dan gelenveriyi nasıl tanıtabilirim?

    "SELECT * FROM Photos Where PhotoID=" + Degisken


    teşekkürler
     
  2. I_QE

    I_QE Simplex Sigillum Veri

    Kayıt:
    23 Aralık 2007
    Mesajlar:
    1,843
    Beğenilen Mesajlar:
    6
    Meslek:
    Bilgisayar mühendisi
    Şehir:
    Şapkamın altından
    view 'daki select i modelden mi render ediyorsunuz doğrudan select diyerek mi oluşturdunuz?
    modeldense zaten size değer geliyor olacaktır. siz oluşturmuşsanız da name'ini kullanarak request.querystring/request.form collection'larından değerleri okuyabilirsiniz.

    ayrıca mvc kullanıyorsanız neden sorgu yazıyorsunuz ki? dbcontext zaten size linq sağlıyor..
     
  3. UgurOnline

    UgurOnline Üye

    Kayıt:
    11 Temmuz 2008
    Mesajlar:
    138
    Beğenilen Mesajlar:
    0
    Şehir:
    İstanbul
    şimdi dediğiniz gibi yaptım doğrudan select kullanmıyorum. fakat yapmak istediğim şeyi hala yapamadım. anasayfamda veriler listeleniyor. bir tanede içerisinde senelerin yazdığı dropdown'um var. bu dropdown'dan sene seçildiğinde ben o seneye göre sorgulama yapıp verileri listeletmek istiyorum. nasıl yapabilirim
     
  4. I_QE

    I_QE Simplex Sigillum Veri

    Kayıt:
    23 Aralık 2007
    Mesajlar:
    1,843
    Beğenilen Mesajlar:
    6
    Meslek:
    Bilgisayar mühendisi
    Şehir:
    Şapkamın altından
    Hah işte şimdi yol almaya başladık :)
    siz yılı seçtiğinizde sayfanız sunucuya gidiyor mu yoksa hiçbir tepki yok mu?

    burada bir örnek var;
    http://stackoverflow.com/questions/...t-mvc-when-a-user-select-un-option-in-another

    yapmanız gereken temel olarak şu;

    urunler controller'ınızda

    Kod:
    [HttpPost]
    public string yilagorelistele(int yil=0)
    {
     var sbContent=new StringBuilder();
    sbContent.Append("<table>");
    
        db.Urunler.Where(urun=>urun.yil==yil)
                .ToList()
                .ForEach(urun=>{ 
                                sbContent.Append("<tr><td>" + urun.UrunAdi + "</td></tr>"); 
                                });
    
    sbContent.Append("</table>");
     return sbContent.ToString();
    }
    
    gibi bir action'ınınız olsun

    view içindeki yıl dropdownunuz'ın ID'si yilDropDownu olsun, sonuçları gösterdiğiniz div'in ID'si de urunListDiv olsun.

    Kod:
    $("#yilDropDownu").change(function(){
        $.ajax({
        url:'urunler/yilagorelistele',
        data{yil:$("#yilDropDownu").val()},
        method:'post',
        success:function( tableContent){
            $("#urunListDiv").html(tableContent);
        }
        });
    });
    
    gibi bir jquery ile postback yapmadan istediğiniz gibi listeleme yapabilirsiniz.

    not: fikir vermesi için ezberden hazırladım, hatalar olabilir :)
     
  5. UgurOnline

    UgurOnline Üye

    Kayıt:
    11 Temmuz 2008
    Mesajlar:
    138
    Beğenilen Mesajlar:
    0
    Şehir:
    İstanbul
    teşekkür ederim bir soru daha sorayım. aşağıdaki kodda dropdown'a verileri eklettim. bu verileri Sorgu = Convert.ToString(ViewBag.Yil); diyerek çekmek istediğimde bana değer olarak System.Web.Mvc.SelectList dönüyor. bu dropdowndaki veriyi nasıl alabilirim Sorgu değişkenine?


    public ActionResult Index(string Etiket, string Sorgu)
    {
    List<string> Yil = new List<string>();
    for (int i = 25; i <= 35; i++)
    {
    Yil.Add("22:" + i.ToString());
    }
    ViewBag.Yil = new SelectList(Yil);
    ViewBag.Count = db.EventsGrid.Count();


    return View(db.EventsGrid.Where(a => a.TimeText == Sorgu));
    }
     
  6. renegade

    renegade Daimi Üye

    Kayıt:
    28 Nisan 2007
    Mesajlar:
    671
    Beğenilen Mesajlar:
    0
    Meslek:
    Developer
    Şehir:
    Her Yerden


    Arkadaşlar bu şekilde sorgularınızı kullanmayın, çok fazla sql injection yersiniz.
     
  7. I_QE

    I_QE Simplex Sigillum Veri

    Kayıt:
    23 Aralık 2007
    Mesajlar:
    1,843
    Beğenilen Mesajlar:
    6
    Meslek:
    Bilgisayar mühendisi
    Şehir:
    Şapkamın altından
    1- konuyu hortlatmanın manası nedir? :)
    2- string concat. ile sorgu hazırladığımız fikrine nasıl kapıldın :)