MVC Ders Notları - 3 Yeni veri Ekleme ve Dropdownlist veri getirme


YENİ VERİ EKLEME İŞLEMLERİ
Controller kısmına
[HttpGet]
  public ActionResult YeniVeri()
  {
     
return View();
  }
[HttpPost]
public ActionResult YeniVeri (TabloAdı p1)
{
}
Bu kodlar yazılır. Bu kodlarda Get kısmı sayfada butona tıklanmadığında olacak işlemler da çalışacak komutlardır. Direk sayfayı olduğu gibi göstermesi için kod yazdık. Altındaki ise post olduğunda yani butondan yada formdan veri geldiğinde yapılacak işlemdir. Ekleme kodlarını yazacağız.
Ø  Parantez içine çalışacağımız tablo adını yazıyoruz. Tabi listelemede ki gibi kütüphaneleri eklemiş olmalıyız.
Ø  Çalışacağımız tablo adı ve bir değişken. Örn: TblUrunler p1 gibi
Ø  Bu alanın içine ekleme komutlarını yazıyoruz. Onlar da şu şekilde olacak.
    db.TBLMUSTERILER.Add(p1); Bu kod p1’den gelen değerleri ekleme işlemini yapar. Kaç tane gelirse gelsin tutacak ve ekleyecektir.
db.SaveChanges(); Bu kod işlemi kaydeder.
  return RedirectToAction("Index"); Bu kod ındex sayfasına yönlendirir. Yani listeleme sayfamıza
INDEX SAYFAMIZ İÇİN KODLARI:
Ø  Controllera sağ tıklayıp (YeniVeri) sayfayı layout kullanarak oluşturruz. Ve ekleme için sayfamızda @model MvcStok.Models.Entity.TBLMUSTERILER kütüphanemizi ekleriz.
Ø  <form class="form-group" method="post">
Bu form oluşturulur içerisine kodlar yazılır. Bir div oluştururuz her satır için
<div>
<
label> Müşteri Adı</label> Bu  labelı elimizl bu şekilde yazabiliriz.
@Html.TextBoxFor(m => m.MUSTERIAD, new { @class = "form-control" })
Bu kod bir textbox oluşturur ve içinde ki veri Musteriad veritabanındaki kısmıdır. Buradan giden veriler controllerda p1 yardımıyla alınır. Her kayıt için bir div oluşturup bu sistemle hazırlarsak güzel görünüm oluşur.
</div>
Ø  En son bir buton oluşturulur ve kayıt işlemi yapılır.
<div style="margin-top:15px">
  <button type="submit" class="btn btn-info" id="btn1">Müşteri Ekle</button>
</div>
</
form>
Ø  Kaydetme işlemi bu kadardır.
DROPDOVNLİST EKLEME VE VERİTABANINDAN VERİLERİ GETİRME:
Ø  Controller kısmında Index alanında yani sayfanın ilk görüneceği alanın içine yazılacak kodlar şu şekidedir.
List<SelectListItem> degerler = (from i in db.TBLKATEGORILER.ToList()
select new SelectListItem
{
Text = i.KATEGORIAD,
Value = i.KATEGORIID.ToString()
  }).ToList();
  ViewBag.dgr = degerler;
return View();
Ø  Index kısmında yazılacak kodlar normal ekleme formlarındaki  gibi herşey olacaktır. Tek fark dropdown list olacak alan;
@Html.DropDownListFor(m=> m.TBLKATEGORILER.KATEGORIID, (List<SelectListItem>) ViewBag.dgr, new { @class = "form-control" })
Şeklinde kod olacaktır. Ve ekleme kısmında ki kod normal eklemeden biraz farklı şu şekilde olacaktır.
var ktg = db.TBLKATEGORILER.Where(m => m.KATEGORIID == p1.TBLKATEGORILER.KATEGORIID).FirstOrDefault();
  p1.TBLKATEGORILER = ktg;
Burdan sonrası standart eklemeyle aynıdır.
db.TBLURUNLER.Add(p1);
  db.SaveChanges();
return RedirectToAction("Index");
Ø  Fark olmasındaki sebep biz kategori adını listeliyoruz ama almamız ve kaydetmemiz gereken değer kategorinin id bilgisidir. Bunun için küçük where sorgulu veri ekliyoruz ve inner joini kendisi kuruyor.



Yorumlar

Bu blogdaki popüler yayınlar

Yazıcıda Bekleyen Belgeleri Hızlıca Temizleme

C# ile SQL Veritabanı Yedeğini Alma

SQL SERVER'da sa ve diğer kullanıcıları aktif etme