VS2017
使用单页面多表单形式,每项业务操作使用Ajax进行数据回传到指定控制器进行处理,Ajax基础代码如下:
function GetURLJson(URL, Form, Display) {
$.ajax({
type: "POST",
//contentType: "application/json",
url: URL,
data: $(Form).serialize(),
//dataType: 'json',
success: function (result) {
//将返回数据添加到页面表格中,可自定义
//if (result.Result == "Success") {
//alert(result.Info + "(" +result.Result + ")");
$(Display).html(result.Info); //显示返回的友好信息
//}
//else{
//alert("返回结果错误!")
// $(Display).html(result.Info);
//}
},
error: function () {
alert("返回数据异常!");
}
});
}
ajax信息类可定义如下:
public class AjaxInfo
{
public string Result { get; set; }
public string Info { get; set; }
}
控制器定义如下:
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult ResetPassword(AssetsManageViewModels model)
{
Support.AjaxInfo ajaxInfo = new Support.AjaxInfo
{
Result = "Success",
Info="预定义的返回信息"
};
//TODO 业务逻辑
return Json(ajaxInfo);
}
view调用如下:(当然,该按钮在特定的form中)
<buttontype="button"class="btn btn-primary"οnclick="GetURLJson('ResetPassword', 'resetPassForm', 'resetpassinfo');">修改</button>
注:view的form中使用 @Html.AntiForgeryToken(),控制器中需配套使用[ValidateAntiForgeryToken]