Bilmek istediğin her şeye ulaş

Asp.Net MVC'de iki farklı tablodaki verileri aynı sayfada kullanmak istiyorum. Nasıl yapabilirim?

ViewBag kullanmak aslında MVC'nin çıkış noktasına biraz aykırıdır. MVC'deki en temel yaklaşım, View'in sayfa üzerinde ne göstermesi gerekiyorsa, buna uygun bir Model oluşturması olmalıdır. Bunlara da genelde ViewModel denilir. Veritabanından çektiğin verileri Model olarak düşünürsen, bu verilerin birlikte kullanımı ile oluşturduğun ve amaçları sadece sunum katmanında kullanılmak olan sınıflar da ViewModel olacaktır. Ogretmen ve Ogrenci iki ayrı Model olsun. Eğer projenin sunumunda öğretmen ve öğrencinin birlikte sunulması gereken bir sayfan mevcutsa, o zaman bir adet OgretmenOgrenci ViewModel sınıfını oluşturman ve veritabanında elde ettiğin Ogretmen ve Ogrenci modellerini, bu sınıfın içine yerleştirmen daha uygun bir yaklaşım olacaktır.
  • Paylaş
ViewBag kullanman burada çok mantıklı değil. View'in görevi sadece kendisine verilen strongly type modeli görsel olarak sunmak olmalıdır. Soruna gelirse; iki farklı tipte veri çekmen gerektiği durumlarda PartialView kullanabilirsin. PartialView'i incelemeni tavsiye ederim.
  • Paylaş
MVC de en sık karşılaşılan sorunlardan biriyle tanışmışsınız, genelde Model-View-Controller olarak düşünsek de bu gibi problemlerde metodolojiye en uygun çözüm sayfalara özel ViewModel kullanmaktır. Bir sayfada Entity1, Entity2 gibi birden fazla tip kullanılacaksa bu tipleri içeren bir ara sınıf yaratıp View a Model olarak tanımlanır.

ViewBag kullanımı dynamic olması açısından tercih edilebilir fakat runtimeda derlendiği için hataya açıktır.

  • Paylaş
Sanırım soru şeklin yanlış..bu veriyi nereden alıcaksın sql?
  • Paylaş
4

Faik Ahmet, Şu senaryo ile daha güzel anlaşılır soru sanırım; a sayfasında ayrı ayrı takip ettiklerim ve beni takip eden kullanıcıların listesi var ortada da durum iletileri var diyelim. Örnek videoların hiç birisinde böyle bir senaryo için çözüm gösterilmiyordu. Fakat ileriki derslerde nasıl olacagını gördüm.

Resul Genç, eğer db den çekiyorsan bu verileri inner join ile tabloları çeke bilirsin

Faik Ahmet, Database içerisinden verilerin çekilmesinden bahsetmiyorum malesef. Takip edenler sag kısımda, edilenler sol kısımda olduğunda ve içlerinde kendilerine ait işlemler yer aldığında inner join'in işe yarayacagını sanmıyorum. Mvc içerisinde sayfaya aktarma aşamasında yaşadığım bir sorundu fakat hallettim. ViewBag ile dilediğimiz kadar veri listesinin çekilebildiğini gördüm.

Resul Genç, En başta soruyu doğru sorsaydın keşke :)

Sonraki Soru
HESAP OLUŞTUR

İstatistikler

1540 Görüntülenme3 Takipçi4 Yanıt