Html.BeginForm与Ajax.BeginForm都是mvc的表单元素,前者是普通的表单提交,而后者是支持异步的表单提交,直接用mvc自带的Ajax.BeginForm就可以很容易完成一个异步的表单提交动作
第一种普通提交几种方式
@using (Html.BeginForm()) {} //提交到当前页面 @using (Html.BeginForm(new {} )) {} //提交到当前页面,并可以传递参数 @using (Html.BeginForm("action","controller")) {} //提交到指定controller下的action中 @using (Html.BeginForm("action","controller",FormMethod.POST)) {} //提交到指定controller下的action中,并指定提交方式 FormMethod枚举如下: // 摘要:
// 枚举窗体的 HTTP 请求类型。
public enum FormMethod
{
// 摘要:
// 指定 GET 请求。
Get = ,
//
// 摘要:
// 指定 POST 请求。
Post = ,
}
第二种ajax提交:
@using (Ajax.BeginForm(
new AjaxOptions
{
UpdateTargetId = "UserLogOnContainer",
HttpMethod = "Post",
OnSuccess = " ",
}))
{ } //提交到当前页面,提交方式为Post,异步更新模块ID为UserLogOnContainer @using (Ajax.BeginForm("action", "controller", null,
new AjaxOptions
{
UpdateTargetId = "UserLogOnContainer",
HttpMethod = "Post",
OnSuccess = " ",
}))
{ } //提交到指定controller下的action,提交方式为Post,异步更新模块ID为UserLogOnContainer
需要注意的是:
表单的按钮在异步表单中也是Submit类型,如果是异步表单,引入的JS文件需要有jquery.unobtrusive-ajax.min.js,在这项目的Scripts目录已经存在