Asp.Net MVC AJAX ile Veritabanı işlemleri(insert,Update,Delete)

Herkes  Yazar Herkes Yazar

30 Mayıs 2018 Edebiyat (82) (1178)

Asp.Net MVC AJAX ile Veritabanı işlemleri(insert,Update,Delete)

Paylaşmak güzeldir. Lütfen sizde paylaşın...


Asp.Net MVC AJAX ile Veritabanı işlemleri(insert,Update,Delete

Asp.Net MVC AJAX ile Veritabanı işlemleri(insert,Update,Delete)

Kayitlarkayit eklekayitsilkayitmodeljquery_valitation_installjquery_Unobtrusive_ajax_install

_Layout.cshtml

scriptler



public class HomeController : Controller
{
// GET: Home
uygDBEntities db = new uygDBEntities();
public ActionResult Index()
{
return View();
}
[HttpPost]
public JsonResult KayitEkleGuncelle(kayitModel model)
{
jModel sonuc = new jModel();
if (model.kayId == 0)
{
Kayit yeniKayit = new Kayit();
yeniKayit.adsoyad = model.adsoyad;
yeniKayit.mail = model.mail;
yeniKayit.yas = model.yas;
db.Kayit.Add(yeniKayit);
db.SaveChanges();
sonuc.islem = true;
sonuc.mesaj = "Kayıt Eklendi";
}
else
{
Kayit kayit = db.Kayit.Where(m => m.kayId == model.kayId).SingleOrDefault();
kayit.adsoyad = model.adsoyad;
kayit.mail = model.mail;
kayit.yas = model.yas;
db.SaveChanges();
sonuc.islem = true;
sonuc.mesaj = "Kayıt Güncellendi";
}
return Json(sonuc, JsonRequestBehavior.AllowGet);
}
[HttpPost]
public JsonResult kayitGetir(int? id)
{
Kayit kayit = db.Kayit.Where(m => m.kayId == id).SingleOrDefault();
kayitModel model = new kayitModel();
if (kayit != null)
{
model.kayId = kayit.kayId;
model.adsoyad = kayit.adsoyad;
model.mail = kayit.mail;
model.yas = kayit.yas;
}
return Json(model, JsonRequestBehavior.AllowGet);
}
[HttpPost]
public JsonResult kayitSil(int? id)
{
jModel sonuc = new jModel();
Kayit kayit = db.Kayit.Where(m => m.kayId == id).SingleOrDefault();
if (kayit != null)
{
db.Kayit.Remove(kayit);
db.SaveChanges();
sonuc.islem = true;
sonuc.mesaj = "Kayıt Silindi";
}
else
{
sonuc.islem = false;
sonuc.mesaj = "Hata";
}
return Json(sonuc, JsonRequestBehavior.AllowGet);
}
public PartialViewResult _Kayitlar()
{
List<Kayit> kayitlar = db.Kayit.ToList();
return PartialView(kayitlar);
}
}

Index.cshtml
@model AjaxUyg.ViewModel.kayitModel
<div class="container" style="margin-top:50px;">
<div class="row">
<div class="col-md-12">
<button id="btnKayitEkle" class="btn btn-primary">Kayıt Ekle</button>
<div id="Kayitlar">
@Html.Action("_Kayitlar", "Home")
</div>
</div>
</div>
</div>
<!-- ekle düzenle işlemi modal başla -->
<div class="modal" id="ekleduzenleModal">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header bg-primary">
<h4 class="modal-title" id="modalBaslik">Kayıt Ekle</h4>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
@using (Ajax.BeginForm("KayitEkleGuncelle", "Home", new AjaxOptions { HttpMethod = "POST", OnSuccess = "kayitYapildi" }, new { id = "frmKayit" }))
{
<div class="modal-body">
@Html.HiddenFor(m => m.kayId)
@Html.LabelFor(m => m.adsoyad)
@Html.TextBoxFor(m => m.adsoyad, new { @class = "form-control" })
@Html.ValidationMessageFor(m => m.adsoyad, null, new { @class = "text-danger" })
<br />
@Html.LabelFor(m => m.mail)
@Html.TextBoxFor(m => m.mail, new { @class = "form-control" })
@Html.ValidationMessageFor(m => m.mail, null, new { @class = "text-danger" })
<br />
@Html.LabelFor(m => m.yas)
@Html.TextBoxFor(m => m.yas, new { @class = "form-control", type = "number" })
@Html.ValidationMessageFor(m => m.yas, null, new { @class = "text-danger" })
<hr />
<div id="sonuc"></div>
</div>
<div class="modal-footer">
<input type="submit" class="btn btn-success" value="Kaydet">
<button type="button" class="btn btn-primary" data-dismiss="modal">Kapat</button>
</div>
}
</div>
</div>
</div>
<!-- ekle düzenle işlemi modal bitiş -->
<!-- sil işlemi modal başla -->
<div class="modal" id="silModal">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header bg-danger">
<h4 class="modal-title">Kayıt Sil</h4>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<h5>Kayıt Silinecektir Onaylıyor musunuz? </h5>
<input type="hidden" id="silId"/>
<div id="sonucSil"></div>
</div>
<div class="modal-footer">
<input type="button" id="btnSil" class="btn btn-danger" value="Sil">
<button type="button" class="btn btn-primary" data-dismiss="modal">Kapat</button>
</div>
</div>
</div>
</div>
<!-- esil işlemi modal bitiş -->
@section scripts {
<script type="text/javascript">
$("#btnKayitEkle").click(function () {
$("#modalBaslik").html("Kayıt Ekle");
$("#ekleduzenleModal").modal();
$("#sonuc").removeClass();
$("#sonuc").html("");
});
$(document).on("click", ".duzenle", function () {
$("#modalBaslik").html("Kayıt Güncelle");
var id = $(this).attr("data-id");
$("#ekleduzenleModal").modal();
$("#sonuc").removeClass();
$("#sonuc").html("");
$.ajax({
type: "POST",
url: "/Home/kayitGetir",
data: { "id": id },
dataType: "json",
success: function (data) {
$("#kayId").val(data.kayId);
$("#adsoyad").val(data.adsoyad);
$("#mail").val(data.mail);
$("#yas").val(data.yas);
}
});
});
$(document).on("click", ".sil", function () {
var id = $(this).attr("data-id");
$("#silId").val(id);
$("#silModal").modal();
$("#sonucSil").removeClass();
$("#sonucSil").html("");
});
$("#btnSil").click(function () {
var id = $("#silId").val();
$.ajax({
type: "POST",
url: "/Home/kayitSil",
data: { "id": id },
dataType: "json",
success: function (data) {
if (data.islem) {
$("#sonucSil").addClass("alert alert-success");
kayitGetir();
} else {
$("#sonucSil").addClass("alert alert-danger");
}
$("#sonucSil").html(data.mesaj);
}
});
});
function kayitYapildi(result) {
if (result.islem == true) {
$("form")[0].reset();
$("#sonuc").removeClass();
$("#sonuc").addClass("alert alert-success");
kayitGetir();
}
else {
$("#sonuc").removeClass();
$("#sonuc").addClass("alert alert-danger");
}
$("#sonuc").html(result.mesaj);
}
function kayitGetir() {
$.ajax({
type: "GET",
url: "/Home/_Kayitlar",
dataType: "html",
success: function (data) {
console.log("İşlem Başarılı");
$("#Kayitlar").html(data);
}
});
}
</script>
}

_Kayitlar.cshtml
@model IEnumerable<AjaxUyg.Models.Kayit>
<h2>Kayıtlar</h2>
<table class="table">
<tr>
<td><b>Id</b></td>
<td><b>Adı Soyadı</b></td>
<td><b>E-Posta</b></td>
<td><b>Yaş</b></td>
<td><b>Düzenle</b></td>
<td><b>Sil</b></td>
</tr>
@foreach (var kayit in Model)
{
<tr>
<td>@kayit.kayId</td>
<td>@kayit.adsoyad</td>
<td>@kayit.mail</td>
<td>@kayit.yas</td>
<td><button class="btn btn-warning duzenle" data-id="@kayit.kayId">Düzenle</button></td>
<td><button class="btn btn-danger sil" data-id="@kayit.kayId">Sil</button></td>
</tr>
}
</table>
​

public class kayitModel
{
public int kayId { get; set; }
[Required(ErrorMessage ="Adı Soyadı Giriniz")]
[Display(Name ="Adı Soyadı")]
[StringLength(50,ErrorMessage = "Adı Soyadı En Fazla 50 karakter olmalı")]
public string adsoyad { get; set; }
[Required(ErrorMessage = "E-Posta Giriniz")]
[Display(Name = "E-Posta")]
[StringLength(50, ErrorMessage = "E-Posta En Fazla 50 karakter olmalı")]
public string mail { get; set; }
[Required(ErrorMessage = "Yaş Giriniz")]
[Display(Name = "Yaş")]
public int yas { get; set; }
}
public class jModel
{
public bool islem { get; set; }
public string mesaj { get; set; }
}

A.KOÇER Hocama Teşekkürler...

İlginizi çekebişlecek benzer Makaleler:

 Asp.net MVC ile Not Ortalaması Hesaplama

Asp.Net MVC ile Veri Tabanı İşlemleri (insert,Update,Delete) 


Paylaşmak güzeldir. Lütfen sizde paylaşın...



Herkesyazar Ara