在ASP.NET MVC视图中通过 @using (Html.BeginForm()) 产生的是form表单提交代码,可以用javascript代码截获这个form提交,改为ajax提交,示例代码如下:
代码来自:http://www.cnblogs.com/dudu/archive/2011/12/07/asp_net_mvc_form_ajax.html
$('#form1').submit(function () { if ($(this).valid()) { $.ajax({ url: this.action, type: this.method, data: $(this).serialize(), success: function (result) { $('#result').html(result); }, error: function (result) { alert(result); } });}return false;});或$.ajax({ type: "post", url:'/ItemInfo/EditItem',//对应于controllerName/ActionName timeout: 3000, data: $("#fm").serialize(), // { PartNumber: '22', Project: 'Project', Family: 'Chord' }, error: function () { alert('Failed!'); }, success: function (data, textStatus) { $('#Planner_ItemInfo').datagrid('loadData', data); } });
用ASP.NET MVC自带的Ajax.BeginForm也可以实现Ajax提交,但对返回结果的控制没有上面的方法灵活,代码如下:
@using (Ajax.BeginForm(new AjaxOptions { HttpMethod = "POST", UpdateTargetId = "result" }))
来源:https://www.cnblogs.com/Gxiaopan/p/4186046.html