MVC按钮单击执行操作而不重定向

时间:2015-12-09 09:15:39

标签: asp.net-mvc edit buttonclick

我有一张桌子,允许用户"勾选"或者"交叉"连续出场。点击一行会将status值更改为"已批准"并且将它改为" Disapproved"。我目前正在使用编辑脚手架来执行它。如何在不将用户重定向到视图的情况下执行此操作。我只是希望用户点击它并刷新页面,并更新status值。

由于我不知道如何编写代码,我不确定在此发布什么代码。如果我的计划的任何部分是必需的,请告诉我。我将它包含在这里。谢谢:>

1 个答案:

答案 0 :(得分:0)

  1. 将css类添加到2个按钮“approve-btn”和“reject-btn”。
  2. 创建javascript函数以批准和拒绝并绑定它们 2个班级
  3. 创建2个后端函数
  4. 从JS函数调用ajax调用到后端函数,传递行项的id
  5. 在ajax呼叫的“成功:”中管理状态的变化以显示“已批准”或“已拒绝”
  6. 要进行ajax调用,您可以使用以下示例(尽管google上有大量示例)。由于您正在修改数据,因此应使用POST调用,因为它是POST调用,您应该添加RequestVerificationToken以防止CSRF攻击。

    function Approve(id){
        securityToken = $('[name=__RequestVerificationToken]').val();
        $.ajax({
            url: '/YourControllerName/Approve/' + itemId,
            type: 'POST',
            data: {
                "__RequestVerificationToken": securityToken
            },
            success: function (data) {
                if (data == 'success')
                    //use jQuery to show the approved message;
                else
                    alert("something went wrong");                
            },
            error: function (request, err) {
                alert("something went wrong");
            }
        });
    }
    

    应在视图中添加此行创建令牌:

    @Html.AntiForgeryToken()