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

Herkes  Yazar Herkes Yazar

30 Mayıs 2018 Edebiyat (117) /Şiir (52) (4537)

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