MVC Ders Notları - 5 Güncelleme İşlemi
Ø Güncelleme işlemi için controller tarafında 2 tane actionresult
tanımlıcaz. Bir tanesi güncellenecek bilgilerin textboxa aktarılması için getir
actionresultu olacak.
Ø Diğeri güncelleme işlemini gerçekleştirecek güncelle actionresultu
olacaktır.
Ø Listeleme sayfasındaki butondan getir actionresultuna yönlendircez
ve bu actionresulttan bir views türetmiş olmamız gerek.
Ø Türettiğimiz bu sayfa da veriler gelecek ve veriler girlip butona
basınca bu sayfadan da güncelle alanına gelicez güncelleme yapıcaz. Kodlara
bakalım.
public ActionResult MusteriGetir(int id)
{
var mstr = db.TBLMUSTERILER.Find(id);
return View("MusteriGetir", mstr);
}
public ActionResult Guncelle(TBLMUSTERILER p1)
{
var mstr = db.TBLMUSTERILER.Find(p1.MUSTERIID);
mstr.MUSTERIAD = p1.MUSTERIAD;
mstr.MUSTERISOYAD = p1.MUSTERISOYAD;
db.SaveChanges();
return RedirectToAction("Index");
}
public ActionResult MusteriGetir(int id)
{
var mstr = db.TBLMUSTERILER.Find(id);
return View("MusteriGetir", mstr);
}
public ActionResult Guncelle(TBLMUSTERILER p1)
{
var mstr = db.TBLMUSTERILER.Find(p1.MUSTERIID);
mstr.MUSTERIAD = p1.MUSTERIAD;
mstr.MUSTERISOYAD = p1.MUSTERISOYAD;
db.SaveChanges();
return RedirectToAction("Index");
}
Ø Controller kısmı bu kadar şimdi kontrollerda getir
action resultundan bir sayfa türetelim ve içine gerekli kodları yazalım.
Bu sayfa layout kullanacak ve kütüphanesi şu şekilde olacak @model MvcStok.Models.Entity.TBLMUSTERILER
Bu sayfa layout kullanacak ve kütüphanesi şu şekilde olacak @model MvcStok.Models.Entity.TBLMUSTERILER
Ø Ardından bir form oluşturcaz içinde verilerin geleceği
kadar textboxlar
@using (Html.BeginForm("Guncelle", "Musteri", FormMethod.Post))
{
<div class="form-group">
@Html.Label("Müşteri ID")
@Html.TextBoxFor(m => m.MUSTERIID, new { @class = "form-control" })
<br/>
@Html.Label("Müşteri Adı")
@Html.TextBoxFor(m => m.MUSTERIAD, new { @class = "form-control" })
</div>
<div class="form-group">
<button class="btn btn-warning">Müşteri Güncelle</button>
</div>
}
@using (Html.BeginForm("Guncelle", "Musteri", FormMethod.Post))
{
<div class="form-group">
@Html.Label("Müşteri ID")
@Html.TextBoxFor(m => m.MUSTERIID, new { @class = "form-control" })
<br/>
@Html.Label("Müşteri Adı")
@Html.TextBoxFor(m => m.MUSTERIAD, new { @class = "form-control" })
</div>
<div class="form-group">
<button class="btn btn-warning">Müşteri Güncelle</button>
</div>
}
Ø Burada göründüğü gibi beginformda müşteri üzerinde
çalış ve güncelle action resultuna git, metodun post olsun dedik.
Ø Listeleme yada güncelleme işleminin ilk başlayacağı
sayfada güncelle butonu için kod şu şekilde olacak.
<td><a href="/Musteri/MusteriGetir/@mstr.MUSTERIID" class="btn btn-success"> GÜNCELLE</a></td>
<td><a href="/Musteri/MusteriGetir/@mstr.MUSTERIID" class="btn btn-success"> GÜNCELLE</a></td>
Ø Diyoruz ki bir link oluştur, müşteri içindeki musterigetir’e
gitsin giderken musteriid bilgisini yanında götürsün. Class’ı succes olsun yani
sarı bir buton görünümde olsun.
Ø Controllerda az önce yazdığımız alana gidecek. İşlem tamamdır.
Yorumlar
Yorum Gönder