MVC小系列(十一)【Html.BeginForm与Ajax.BeginForm】
Html.BeginForm与Ajax.BeginForm都是mvc的表单元素,前者是普通的表单提交,而后者是支持异步的表单提交,直接用mvc自带的Ajax.BeginForm就可以很容易完成一个异步的表单提交动作
第一种普通提交几种方式
1 @using (Html.BeginForm()) {} //提交到当前页面 2 3 @using (Html.BeginForm(new {} )) {} //提交到当前页面,并可以传递参数 4 5 @using (Html.BeginForm("action","controller")) {} //提交到指定controller下的action中 6 7 @using (Html.BeginForm("action","controller",FormMethod.POST)) {} //提交到指定controller下的action中,并指定提交方式 8 9 FormMethod枚举如下: 10 11 // 摘要: 12 // 枚举窗体的 HTTP 请求类型。 13 public enum FormMethod 14 { 15 // 摘要: 16 // 指定 GET 请求。 17 Get = 0, 18 // 19 // 摘要: 20 // 指定 POST 请求。 21 Post = 1, 22 }
第二种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目录已经存在