حذف و اضافه و نمایش با Ajax – در آموزش های قبلی با ساختار کلی آژاکس و نحوه درج اطلاعات یک فرم و ارسال و دریافت Json آشنا شدیم در این آموزش به رویداد های حذف و اضافه و نمایش اطلاعات خواهیم پرداخت.
مواردی که در قسمت های قبل درباره Ajax یاد گرفتیم :
همچنین میتوانید برای مشاهده تمام قسمت های آموزش Ajax در ASP.NET MVC 5 اینجا کلیک کنید.
$("#MyForm").submit(function (e) {
e.preventDefault();
var name= $('#Name').val();
var password= $('#Password').val();
var family = $('#Family').val();
var token = $('[name="__RequestVerificationToken"]').val();
if ($("#MyForm").valid()){
$.ajax({
url: '/DeleteUser/Index',
type: 'POST',
dataType: 'json',
data: { __RequestVerificationToken: token, Name: name, Family: family, Password: password },
success: function (data) {
if (data['success'] == true) {
ClearList();
RefreshList();
} else {
alert('error1');
}
},
error: function () {
alert("erroe2");
}
});
}
});
public ActionResult Index()
{
return View();
}
[HttpPost]
[ValidateAntiForgeryToken]
public JsonResult Index([Bind(Include = "Name,Family,Password")] User user)
{
if (ModelState.IsValid)
{
db.Users.Add(user);
db.SaveChanges();
return Json(new { success = true, JsonRequestBehavior.AllowGet });
}
return Json(new { success = false, JsonRequestBehavior.AllowGet });
}
function MyDelete(id) {
var token = $('[name="__RequestVerificationToken"]').val();
$.ajax({
url: '/DeleteUser/Delete',
type: 'POST',
dataType: 'Json',
data: { __RequestVerificationToken: token, id: id },
success: function (data) {
if (data['success']=true) {
RefreshList();
} else {
alert('error');
}
},
error: function () {
alert('error');
}
});
}
[HttpPost]
[ValidateAntiForgeryToken]
public JsonResult Delete(int ? id) {
if (id == null)
{
return Json(new { success = false, JsonRequestBehavior.AllowGet });
}
var user=db.Users.Find(id);
if (user == null)
{
return Json(new { success = false, JsonRequestBehavior.AllowGet });
}
db.Users.Remove(user);
db.SaveChanges();
return Json(new { success = true,JsonRequestBehavior.AllowGet });
}
function RefreshList() {
$.ajax({
url: '/DeleteUser/ShowUserList',
type: 'POST',
success: function (data) {
$('#MyList').html(data);
}
});
}
public ActionResult ShowList()
{
var user=db.Users.ToList();
return PartialView(user);
}
public ActionResult ShowUserList()
{
return RedirectToAction("ShowList");
}
باید بگوییم که Ajax به ما کمک میکند بدون بارگذاری کل صفحه (Refresh) محتوای بخشی از آن را بروزرسانی (Update) کنیم. استفاده از Ajax هم به نفع کاربران است و هم به نفع صاحبان سایت. کاربر دیگر لازم نیست مدت زمان زیادی منتظر بارگذاری کامل صفحه بماند و در پهنای باند او نیز صرفه جویی میشود. در مقابل صاحب سایت هم برنده است چون با ارائه یک تکنولوژی جدید و بسیار کاربردی میتواند مشتریان بیشتر و سرویسدهی بهتری داشته باشد.