Öğrenci numarasına göre arayıp notları getirme

Kodla Büyü

hakimiyet001

Seçkin Üye
Seçkin Üye
Mesajlar
415
Core mvc uygulamasında iki tane model yapım var. birinde öğrenciye ait no, adı, soyadı bilgileri var. diğerinde ise no, y1,y2,y3 değerleri var. bu değerleri view tarafına gönderiyorum. öğrencileri listeliyorum. Sorum şu. oğrencinin no, adı, soyadı satırına tıkladığımda o öğrenciye ait yazılı notlarını acordiyon yapıda nasıl görüntüleyebilirim
 
Öncelikle iki modele gerek yok. tek modelle halledilebilir. bunları eşleştirmek için en mantıklı yol ise veri tabanından geçer girdiğiniz numaraya göre ilgili öğrencinin notlarını bir listeye alırsınız(sorgu yazmanız gerekiyor tabiki) onu da menüye gönderirsiniz.
public class Student
{
public int StudentID { get; set; }
public string StudentNumber { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }

public List<ExamScore> ExamScores { get; set; }
}

public class ExamScore
{
public int ScoreID { get; set; }
public int StudentID { get; set; }
public int Year1 { get; set; }
public int Year2 { get; set; }
public int Year3 { get; set; }

}

VERİTABANI
  1. Students (Öğrenciler) Tablosu:
    • StudentID (int, otomatik artan anahtar alan)
    • StudentNumber (nvarchar(50), öğrenci numarası)
    • FirstName (nvarchar(50), öğrencinin adı)
    • LastName (nvarchar(50), öğrencinin soyadı)
  2. ExamScores (Yazılı Notlar) Tablosu:
    • ScoreID (int, otomatik artan anahtar alan)
    • StudentID (int, Students tablosundaki StudentID ile ilişkilendirilmiş yabancı anahtar)
    • Year1 (int, yıl 1 yazılı notu)
    • Year2 (int, yıl 2 yazılı notu)
    • Year3 (int, yıl 3 yazılı notu)
 
Tablolar ilişkili ise controller den include ile ilişkili tabloyu da çağıracaksınız.
viewde her öğrenci foreach ile döndürülüp accordion item oluşturulacak, o döngü içinde de yine bir foreach döngü ile notları istenecek.
bootstrap kullanyorsanız eğer orda accordion var onu inceleyin , burda döngü ile elde edeceğiniz not bilgisini accordion a uyarlayın
 
veri tabanıyla çalışmıyorum. controller tarafında şu bilgileri gönderiyorum

public IActionResult Index()
{
var ogrliste = new List<Ogrenciler>
{
new Ogrenciler{OgrNo=11,
OgrAdi="Kamil", OgrSoyadi="Karşal"},
new Ogrenciler{OgrNo=12,
OgrAdi="Ayşe", OgrSoyadi="Fidan"},
new Ogrenciler{OgrNo=13,
OgrAdi="Mustafa", OgrSoyadi="Şahin"}
};

var ogrnotlar = new List<Notlar>
{
new Notlar{OgrNo=11,
Y1=90, Y2=90, P1=90},
new Notlar{OgrNo=12,
Y1=90, Y2=100, P1=100},
new Notlar{OgrNo=13,
Y1=70, Y2=80, P1=90},
};

var bilgiler = (ogrliste, ogrnotlar);
return View(bilgiler);
}

bunu index view dosyasında nasıl listeleyebilirim
 
Geri
Üst