小编典典

MVC3 Razor Ajax表单提交

ajax

我使用MVC3 Helper生成我的Ajax表单,如下所示:

@using (Ajax.BeginForm("Attended", "Lesson", new AjaxOptions
               {
                   HttpMethod = "GET",
                   InsertionMode = InsertionMode.InsertAfter,
                   UpdateTargetId = "mdl" + item.ID
               }))
            {
                @Html.HiddenFor(modelItem => item.ID);
                @Html.CheckBox("Attended", item.Attended, new { OnChange = "javascript:this.form.submit()"});
            }

我只是找不到在复选框的change事件上提交表单的正确方法。我不希望我的用户单击提交按钮。

HTMLAttribute有效,但是在更改时发生回发而不是ajax请求。

有人知道答案吗?


阅读 219

收藏
2020-07-26

共1个答案

小编典典

首先,在表单内创建一个提交按钮,然后通过设置属性将其隐藏style="display:none;"。然后,而不是this.form.submit()在onchange事件中使用,请使用以下命令:

$(this).parents('form:first').find(':submit')[0].click();

这将调用jquery.unobtrusive-ajax.js脚本,并完成您的Ajax提交。

2020-07-26