標籤:
將ASP.NET MVC中的form提交改為ajax提交
在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" }))
Asp.Net MVC Ajax