MVC小系列Html.BeginForm与Ajax.BeginForm
Posted 那就让我这样吧
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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目录已经存在
以上是关于MVC小系列Html.BeginForm与Ajax.BeginForm的主要内容,如果未能解决你的问题,请参考以下文章
Asp.net Mvc Ajax.BeginForm提交表单
在MVC3中,同一个页面有3个按钮是要用ajax异步刷新的,不想用@html.ActionLink,@html.BeginForm()的话,不行
ValidateAntiforgeryToken 不适用于 ASP.NET MVC 中的 Ajax