在Asp.Net的MVC中的语法,在Razor页面中使用,替代JQuery的Ajax使用,方便快捷。

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

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

参数一:AjaxOptions

class类型

说明:配置Ajax的一些选项

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

相关属性详解:

Confirm

string

在请求之前会弹出一个提示框,是否确认提交

HttpMethod

string

设置请求类型 Get Post

UpdateTargetId

String

标明html中一元素的id,把请求返回的数据/元素更新到该元素中

InsertionMode

enum

把请求结果以何种方式更新到Dom元素中

①Replace

②InsertBefore

③InsertAfter

不设置的情况下,默认是Replace,只有在UpdateTargetId被设置后才有效

LoadingElementId

string

标明html中一元素的id,在请求过程中,该元素会显示出来,请求结束后又隐藏

LoadingElementDuration

Int

控制Loading动画在显示/隐藏时的动画持续时间,单位为毫秒;

默认情况下,动画将淡入淡出;这个时间即淡入淡出的时间(但经测试无效!!!)

OnBegin

string

标明js中一function的名称,在Ajax请求发送前,执行该方法,对应JQuery的beforeSend

OnComplete

String

标明js中一function的名称,在请求成功时,执行该方法,对应JQuery的complete

OnFailure

String

标明js中一function的名称,在请求失败时,执行该方法,对应JQuery的error

OnSuccess

String

标明js中一function的名称,无论请求成功与否,都在请求完成时,执行该方法,对应JQuery的success

Url

String

请求的地址

AllowCache

Bool

是否使用缓存

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

参数二:actionName

string类型

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

参数三:routeValues

object、RouteValueDictionary类型

说明:将传入到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

object、IDictionary<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名称

Ajax.BeginForm参数详解的更多相关文章

  1. MVC之Ajax.BeginForm使用详解之更新列表 mvc验证jquery.unobtrusive-ajax

    MVC之Ajax.BeginForm使用详解之更新列表   1.首先,请在配置文件设置如下:(该项默认都存在且为true) <add key="UnobtrusiveJavaScrip ...

  2. $.ajax()所有参数详解

    原文:https://www.cnblogs.com/everest33Tong/p/6159700.html [一]$.ajax()所有参数详解 url: 要求为String类型的参数,(默认为当前 ...

  3. ajax方法参数详解与$.each()和jquery里面each方法的区别

    JQuery中$.ajax()方法参数详解 url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. type: 要求为String类型的参数,请求方式(post或get)默认为g ...

  4. Ajax.ActionLink参数详解

    该语法会生成一个a标签,点击a标签会执行一个Ajax请求. 有12个方法重载,下面详解方法中的各项参数: 参数一:linkText string类型 说明:链接显示的文字内容 参数二:actionNa ...

  5. MVC之Ajax.BeginForm使用详解之更新列表

    1.首先,请在配置文件设置如下:(该项默认都存在且为true) <add key="UnobtrusiveJavaScriptEnabled" value="tru ...

  6. JQuery中$.ajax()方法参数详解

    url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. type: 要求为String类型的参数,请求方式(post或get)默认为get.注意其他http请求方法,例如put和 ...

  7. JQuery中$.ajax()方法参数详解 及 async属性说明

    url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. type: 要求为String类型的参数,请求方式(post或get)默认为get.注意其他http请求方法,例如put和 ...

  8. JQuery中$.ajax()方法参数详解(转载)

    url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. type: 要求为String类型的参数,请求方式(post或get)默认为get.注意其他http请求方法,例如put和 ...

  9. $.ajax()方法参数详解

    url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. type: 要求为String类型的参数,请求方式(post或get)默认为get.注意其他http请求方法,例如put和 ...

随机推荐

  1. 使用PL/SQL工具比对表结构,同步表结构

    需求:Oracle数据库,B库和C库,某些表的表结构不一致,现在要求以C库为标准,同步更新B库表结构PL/SQL 连接到C库, Tools --> Compare User Objects .. ...

  2. 分享一下刚刚HP电话面试。。。。。。。。我估计我挂了,不过还是要来分享一下

    面试官是个中国人,给我是全英文面试,总之是做HP的外包业务,说得很好的工作环境,里面都是一些老外在工作. 首先是要用英文介绍了下自己,我自己觉得自己也还是不错的吧,然后就说了一通(其实我好久没说英文了 ...

  3. 去哪儿搜索引擎QSearch设计与实现

    本次演讲主要介绍的是QSearch的具体设计和应用场景,并分别解答以下几个问题:QSearch与开源垂直软件Lucene的区别:具体业务的实现技巧.以及QSearch的具体设计:如何通过Partial ...

  4. byte为什么要与上0xff?

    无意间翻看之间的代码,发现了一段难以理解的代码. byte[] bs = digest.digest(origin.getBytes(Charset.forName(charsetName))) ; ...

  5. Struts2 源码分析——DefaultActionInvocation类的执行action

    本章简言 上一章讲到关于拦截器的机制的知识点,让我们对拦截器有了一定的认识.我们也清楚的知道在执行用户action类实例之前,struts2会先去执行当前action类对应的拦截器.而关于在哪里执行a ...

  6. 淘宝购物车页面 PC端和移动端实战

    最近花了半个月的时间,做了一个淘宝购物车页面的Demo.当然,为了能够更加深入的学习,不仅仅有PC端的固定宽度的布局,还实现了移动端在Media Query为768px以下(也就是实现了ipad,ip ...

  7. 利用JsonConvert.SerializeObject()实现类对象的json化

    现阶段的项目是采用前后端分离的思想,前端使用的是Angular.JS,后端使用ABP框架,在后端我们通过WebAPI技术来向前端提供json数据.以前是通过MVC来写前端的代码,感觉后端有点在控制前端 ...

  8. C++面试题汇集

    1.在C++ 程序中调用被C 编译器编译后的函数,为什么要加extern “C”?答:首先,extern是C/C++语言中表明函数和全局变量作用范围的关键字,该关键字告诉编译器,其声明的函数和变量可以 ...

  9. 使用abp模板创建解决方案

    前言 ABP官网(http://www.aspnetboilerplate.com/),本地环境 sql server EXPRESS +vs2013 通过官网生成 module zero 解决方案模 ...

  10. 针对Asp.net MVC SEO的几点建议

    1. 引言 SEO 即搜索引擎优化,很多web开发人员本应该熟悉,至少需要了解的一个知识点.像百度.必应等搜索引擎其实一直都在进化.但是有些优化的技巧可能在短时间内不变. 今天就给大家介绍几个专门针对 ...