Merhaba, bu yazıda MVC ile Cascading(İç içe) DropDownList oluşturma konusu hakkında bilgiler aktarmak istiyorum.
Hepimizin kullandığı bir sistem üzerinden örnek vermek gerekirse, bir hastaneden randevu almak istediğimizi düşünelim. Bu durumda bu hastanenin bulunduğu şehri bir DropDownList’ten seçeriz ve bu seçimi yaptıktan sonra diğer bir DropDownList içerisine o şehre ait ilçeler eklenir. O ilçeyi de seçtikten sonra ise diğer bir DropDownList içerisinee o ilçeye ait hastaneler eklenir. Bu şekilde sırasıyla devam eden işlemler bütünü olarakta tanımlayabiliriz. Bu konu tabii ki çok farklı şekillerde de örneklendirilebilir.
Bir örnek oluşturalım ve onun üzerinden devam edelim.
İlk olarak Models içerisinde Kategori ve Ürün sınıflarını oluşturalım.
Şimdi ise Context sınıfını oluşturalım.
Daha sonra migration işlemini tamamlıyoruz ve SQL bağlantı kısmını halletmiş oluyoruz.
Şimdi de kategori ve ürünler için bir model oluşturalım. Tek bir controller üzerinden iki ayrı model yollayamayacağımızdan dolayı tek bir model üzerinden ikisini yollacayacağız.
Bu işlemi de tamamladıktan sonra Controller kısmı ile devam edelim.
Yukarıda ilk olarak Context sınıfından bir örnek oluşturduk. Daha sonra birden fazla modeli gönderebilmek için oluşturduğumuz sınıftan bir örnek oluşturduk. Bu sınıfın içerisindeki property’ler olan cs.Kategori ve cs.Urun ile SelectList tipinde oluşturduğumuz nesneleri işaret ettik, yani referans olarak aldık. Bu konuyu buradan daha detaylı şekilde görebilirsiniz.
Bu işlemi de tamamladıktan sonra View kısmına geçelim.
Yukarıda oluşturduğumuz View ile aşağıdaki sayfayı oluşturmuş olduk.



Ancak biz burada konumuzun da temeli olan, Kategori seçtiğimiz durumda o kategorideki ürünleri alttaki DropDownList içerisinde getirmesini istiyoruz. Bunun için ilk olarak Controller kısmına aşağıdaki kodu ekliyoruz.
Yukarıda oluşturduğumuz urunListesi içerisinde LINQ sorgusunu yazdık. Metot içerisinde Text ve Value değerleri bulunmaktadır. Bunları SelectItem içerisinde kullanacağız. Şimdi ise kategori seçimine göre ürünleri listeleyen scripti View içerisine ekleyelim. Bu işlemleri yaptıktan sonra bir şeyi de hatırlatmak istiyorum. Ben kodların içinde Jquery kütüphanesini dosya şeklinde ekledim. Aksi takdirde işlemlerimiz çalışmayacaktır.
Bu işlemleri de tamamladıktan sonra istediğimiz sonucu elde etmiş oluruz.

Benimde faydalandığım ve faydalı olduğunu düşündüğüm bu yazıdan sizde faydalanabilirsiniz. Yukarıdaki yoldan daha farklı bir yol kullanılmış.
Eksik gördüğünüz veya eklemek istediğiniz bilgiler olursa benimle de paylaşırsanız mutlu olurum.
Okuduğunuz için teşekkür ederim.