ASP中的Ajax重定向.净MVC



我正在学习ASP。. NET MVC和我在Ajax重定向面临的问题。在普通的post或get调用中,我们可以将用户返回到特定的页面,例如:

return RedirectToAction("AllStudents");

但是使用json,它是不同的,或者可能是我不太了解它。

我已经张贴了我的代码在正常,也转换为Ajax。

What I have try

控制器代码:

[HttpGet]
public ActionResult Delete(int id)
{
stude.DeleteStudent(id);
return RedirectToAction("AllStudents");
}

和我已经使用Ajax做的工作成功,但它不是重定向用户到另一个页面,就像在上面的代码,它重定向用户到另一个页面。

我的Ajax控制器代码:
[HttpPost]
public JsonResult Delete(int id)
{
stude.DeleteStudent(id);
return Json("true",JsonRequestBehavior.AllowGet);
}

My Js code:

// Delete record
$("#del").click(function (e) {
e.preventDefault();
var id = $("#stid").val();
//alert(id);
$.ajax({
method: "POST",
url: "Delete/" + id,
contentType: "application/json; charset=utf-8",
async: true,
data: JSON.stringify(id),
success: function (data) {
console.log(data);
},
error: function (err) {
console.log('Failed to get data' + err);
}
});

});

操作被执行,数据被删除,但浏览器停止如下:

更新我的目标:我希望删除数据时不像通常那样刷新页面。另外,请分享一个链接,张贴,一些显示页面刷新使用ajax。比如我想每隔1分钟刷新一个页面,但不重新加载它。

更新:数据正在删除,但是Red高亮显示(页面)不刷新,我必须手动刷新,这是我不想要的。我想在不重新加载的情况下悄悄地刷新它。

如果您只刷新网格,那么创建一个超时方法如下:

setTimeout(function() {get grid data by ajax call}, 10000);

如果你想重载整个页面,那么

  1. 创建一个局部视图
  2. 创建一个动作方法并返回PartialView()。
  3. 创建ajax调用并获取响应以添加div,如div .html(data);

如果您每1分钟刷新一次页面,那么创建一个超时函数并创建一个简单的ajax

setTimeout(function() { ajax call}, 10000);

最新更新