【问题标题】:Asp.net MVC Checkbox Event HTTPPOST ServerSideAsp.net MVC 复选框事件 HTTPPOST 服务器端
【发布时间】:2017-10-07 06:46:33
【问题描述】:

net mvc5 表单和使用复选框。

我的条件是我需要在选中复选框(true)后立即调用 HTTPPOST 操作

在选中复选框后,应立即调用类似于 HTTPPOST 的操作。

我还需要将 Model 传递给 HTTP Post。

您能告诉我完成这项工作所需的方法是什么吗?

【问题讨论】:

  • 使用剃须刀你可以使用@Html.CheckBox("chkName",false, new {onclick="this.form.submit();"}) - 见here

标签: c# asp.net-mvc checkbox


【解决方案1】:

我建议使用 jquery 来实现这一点。假设您的复选框嵌套在表单中,您可以使用:

$(function () {
    $('#CheckBoxName').change(function () {
        $(this).closest("form")[0].submit();
    });
});

这将触发回发,调用适当的 HttpPost 方法并将模型作为参数发送。

【讨论】:

  • 它帮助解决了问题
【解决方案2】:

您应该使用 javascript 对复选框的更改做出反应,然后通过 ajax 发布。

这是一个例子:

$('#checkbox').change(function(){
    if (this.checked){
                var jsonModel = '@Html.Raw(Json.Encode(Model))';

                $.ajax({
                type: 'post',
                url: '@Url.Action("UrlOfPostAction")',
                data: { Model: jsonModel},
                dataType: 'json',
                success: function (res) {
                    //Do something
                }
                //manage errors
            });
    }
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-29
    • 2010-09-25
    • 2013-01-28
    • 1970-01-01
    • 1970-01-01
    • 2012-03-07
    相关资源
    最近更新 更多