微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ASP.NET MVC 中的 Ajax 重定向

如何解决ASP.NET MVC 中的 Ajax 重定向

我正在学习 ASP.NET MVC,但我在 Ajax 重定向中遇到了问题。在正常的 post 或 get 调用中,我们可以将用户返回到某个特定页面,例如:

return RedirectToAction("AllStudents");

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

我已经以正常方式发布了我的代码,并已转换为 Ajax。

我的尝试

一般控制器代码

[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);
    }

我的js代码

  // 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);
                }
            });


        });

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

updated

我的目标:我希望在不刷新页面的情况下删除数据,就像往常一样。还请分享一个链接,帖子,显示使用 ajax 刷新页面内容。就像我想每 1 分钟刷新一次页面但不重新加载它一样。

更新:数据正在删除,但突出显示红色页面)没有刷新,我必须手动刷新,我不想要。我想在不重新加载的情况下静刷新它。

解决方法

如果您只刷新网格,则创建超时方法如下:

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

如果你想重新加载整个页面

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

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。