Derinlemesine yazılım eğitimleri için kanalımı takip edebilirsiniz...

Asp.NET MVC – DropDownList AutoPost(Eleman Seçildiğinde Otomatik Post Edilmesi)

Asp.NET MVC mimarisi yapı gereği Post – Back mimarisinden oldukça farklı bir temele sahiptir.Asp.NET mimarisinde ise Post – Back temelli olduğu için server tabanlı forum nesnelerin bazılarında tetiklenme esnasında Post işlemi uygulayabiliyor, hatta AutoPostBack özelliği olan nesneler üzerinde otomatik Post işlemi gerçekleştirebiliyorduk.Haliyle böyle durumda Asp.NET MVC mimarisinin AutoPost işlemini nasıl yapacağımızı sorguluyoruz.MVC yapısal olarak genellikle server tabanlı nesnelerden bağımsız bir şekilde HTML nesnelerine bağlı bir çalışma şeklinde olduğu için bu tarz uygulamalarda JavaScript ya da benzer tabanlı jQuery tarzında Client tarafında çalışan dillerden destek almak mecburiyetindeyiz.Bu yazımızda DropDownList üzerinde AutoPost işleminin nasıl yapılacağını bir örnekle irdeleyeceğiz.

Hiç uzatmadan hemen örneğe girelim.
Controller sınıfımızda bir sayı listesi oluşturup View katmanına gönderelim.

        public ActionResult Index()
        {
            List<int> Sayilar = new List<int>();
            for (int i = 0; i < 100; i++)
            {
                Sayilar.Add(i);
            }
            return View(Sayilar);
        }

Ardından DropDownList nesnemizi oluşturalım.

        @using (Html.BeginForm("Index", "Home", FormMethod.Post, new { id = "ListeForm" }))
        {
            @Html.DropDownList("Sayilar", new SelectList(Model), new { id = "SayiListesi" })
        }

Gördüğünüz gibi DropDownList nesnemizde seçim anında Post işlemi gerçekleştireceğimiz için bir form içine yerleştiriyoruz.
Şimdi bir eleman seçildiği anda bu formu tetikleyecek jQuery kodumuzu yazalım.

<script type="text/javascript">
    $(function () {
        $("#SayiListesi").change(function () {
            $('#ListeForm').submit();
        });
    });
</script>

İşlemlerimiz bu kadar.DropDownList nesnesinden bir eleman seçtiğimiz zaman Index metodunun HttpPost attributeuyla işaretlenmiş overload versiyonu aşağıdaki gibi tetiklenmektedir.
DropDownList AutoPost

Yukarıdaki ekran görüntüsünü incelerseniz eğer tetiklendiği anda Post edilen değeri elde edebiliyoruz.
Sonraki yazılarımda görüşmek üzere…
İyi çalışmalar…

Bunlar da hoşunuza gidebilir...

5 Cevaplar

  1. burak dedi ki:

    merhabalar viewdata kullanarak verileri databaseden aldım 4 tablom var 4 dropdowna verileri doldurdum seçilen verilere göre listeleme işlemini nasıl yapabilirim.4 tablodan farklı sutunlar listelenecek.orneklerde veritabanında alınmamış genelde kod ıcerısınde yapılmıs zorluk çekıyorum yardımcı olursanız sevınirim.

  2. halitcetiner dedi ki:

    FormCollection olayını ilk bu sitede gördüm. Başarılı bir site, profesyonel yaşamda ne tavsiye ediyorsunuz.

  3. karaoz dedi ki:

    Merhaba, post ettikten sonra seçilenin gelmesi için bi numara yok mu 🙂

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

*