为了账号安全,请及时绑定邮箱和手机立即绑定

删除asp.net mvc中的记录后如何更新视图

删除asp.net mvc中的记录后如何更新视图

C#
郎朗坤 2022-06-18 17:12:38
我有一个视图,其中我将记录保存到数据库并在同一页面上显示带有 Viewbag 变量的记录我在每条记录前面都有一个删除按钮来删除记录,我希望在删除记录后视图应该得到更新如何做到这一点我的控制器方法   public ActionResult Delete(int id)    {        db.Delete<Logs>(id);        return RedirectToAction("Index", new { id });    }我的 html 和查询<button type="button" id="delete" data-id="@item.LogId" class="delete btn btn-default" style="background-color:transparent"><i class="fas fa-times h3" style="color:red;"></i></button>        $('.delete').click(function () {            var selectedid = $(this).data("id");            $.post("@Url.Action("Delete", "Log")", { id: selectedid });        });
查看完整描述

1 回答

?
慕码人2483693

TA贡献1860条经验 获得超9个赞

您应该知道的第一件事是RedirectToAction在 AJAX 调用中不起作用,您应该将 URL 传递给重定向,location.href如下所示:


控制器动作


[HttpPost]

public ActionResult Delete(int id)

{

    db.Delete<Logs>(id);


    // other stuff


    string url = this.Url.Action("Index", "Log", new { id = id });


    return Json(url);

}

jQuery


$.post("@Url.Action("Delete", "Log")", { id: selectedid }, function (result) {

    window.location.href = result;

});

或者更好地创建一个包含要通过 AJAX 更新的所有元素的局部视图,然后将其传递给success部分:


控制器动作


[HttpPost]

public ActionResult Delete(int id)

{

    db.Delete<Logs>(id);


    // other stuff


    return PartialView("PartialViewName");

}

jQuery


$.post("@Url.Action("Delete", "Log")", { id: selectedid }, function (result) {

    $('#targetElement').html(result);

});


查看完整回答
反对 回复 2022-06-18
  • 1 回答
  • 0 关注
  • 175 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号