Ajax.BeginForm参数详解

Asp.NetMVC中的语法,在Razor页面中使用,替代JQueryAjax使用,方便快捷。

使用Ajax.BeginForm方法会生成一个form表单,最后以Ajax的方式提交表单数据;需要用using把该方法括起来,使系统知道form表单从何处开始,何处结束。

有11个方法重载,下面详解该方法的各项参数:

参数一:AjaxOptions

class类型

说明:配置Ajax的一些选项

举例:

new AjaxOptions { HttpMethod = "POST", LoadingElementId = "searching", UpdateTargetId = "postContent" }

相关属性详解:

属性类型说明
Confirmstring在请求之前会弹出一个提示框,是否确认提交
HttpMethodstring设置请求类型 Get Post
UpdateTargetIdString标明html中一元素的id,把请求返回的数据/元素更新到该元素中
InsertionModeenum把请求结果以何种方式更新到Dom元素中
①Replace
②InsertBefore
③InsertAfter
不设置的情况下,默认是Replace,只有在UpdateTargetId被设置后才有效
LoadingElementIdstring标明html中一元素的id,在请求过程中,该元素会显示出来,请求结束后又隐藏
LoadingElementDurationInt控制Loading动画在显示/隐藏时的动画持续时间,单位为毫秒;
默认情况下,动画将淡入淡出;这个时间即淡入淡出的时间(但经测试无效!!!)
OnBeginstring标明js中一function的名称,在Ajax请求发送前,执行该方法,对应JQuery的beforeSend
OnCompleteString标明js中一function的名称,在请求成功时,执行该方法,对应JQuery的complete
OnFailureString标明js中一function的名称,在请求失败时,执行该方法,对应JQuery的error
OnSuccessString标明js中一function的名称,无论请求成功与否,都在请求完成时,执行该方法,对应JQuery的success
UrlString请求的地址
AllowCacheBool是否使用缓存

BeginForm的11个重载方法中,有一方法中只有AjaxOptions一个参数,如果不指定Url,则生成的form表单的action属性没有值,就默认把数据提交到当前页,否则就以Url为请求地址,其他重载方法中都需要指定actionNamecontrollerName(可选)。

参数二:actionName

string类型

说明:指定请求地址的Action名称

参数三:routeValues

objectRouteValueDictionary类型

说明:将传入到Controller中方法的参数

支持上述两种数据类型:

object类型可以在使用时直接以匿名类方式声明,使用非常方便

举例:

new { id = 1, type = 1 }

RouteValueDictionary类型实现了IDictionary<string, object>接口,因此在使用时可以用键值对方式声明

举例:

new RouteValueDictionary{ {"id", 1}, {"type", 1} }

生成的路径:/Home/Index/1?type=1

因为“id”是在路由规则中配置的名称,因此显示在路由规则对应的位置,“type”则在问号后面

参数四:htmlAttributes

objectIDictionary<string, object>类型

说明:html属性,生成form表单时,会把键值对添加到form表单的属性中;

支持上述两种数据类型:

object类型可以在使用时直接以匿名类方式声明,使用非常方便

举例:

new{id = "frm", @class = "cls" } 由于class是C#中的关键字,因此需要在前面加@符号

IDictionary<string, object>类型使用灵活,可以在一个地方声明,多个地方调用,或修改后使用

举例:

Dictionary<string, object> htmlAttr = new Dictionary<string, object>
 {

     {"id", "frm"},

     {"class", "cls"}

 };   

生成的代码:

<form action="/Home/Index/1?type=1" class="cls" data-ajax="true" id="frm" method="post">

参数五:controllerName

string类型

说明:指定请求地址的Controller名称

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值