该语法会生成一个a标签,点击a标签会执行一个Ajax请求。

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

参数一:linkText

string类型

说明:链接显示的文字内容

参数二:actionName

string类型

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

参数三: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(可选)。

参数四: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名称

参数七:protocol

string类型

说明:指定链接的协议类型,比如http、https

参数八:hostName

string类型

说明:指定链接的主机地址,可以有域名+端口号,比如ayilaile.com:80

参数九:fragment

string类型

说明:指定链接中的锚点名称

七、八、九三个参数的重载方法很少使用

示例:

@Ajax.ActionLink("ActionLink", "Index", "Home", "https", "www.ayilaile.com:90", "title", new { id = 1, type = 1 }, new AjaxOptions { HttpMethod = "Post", UpdateTargetId = "detailsID", InsertionMode = InsertionMode.Replace }, new{ id = "testid"})

生成的链接为:https://www.ayilaile.com:90/Home/Index/1?type=1#title

最新文章

  1. 学习JVM--垃圾回收(一)原理
  2. java基础1.-------抽象类,抽象方法
  3. learn mips
  4. How Google TestsSoftware - Crawl, walk, run.
  5. hiho #1326 : 有序01字符串
  6. row_number()函数
  7. jquery :checked(过滤选择器) 和 空格:checked(后代选择器)
  8. Linux-QT 开发环境搭建以及编译镜像
  9. 小知识:如何解压cpio.gz文件
  10. 面向初学者的 Windows 10 UWP 应用开发
  11. hdu 1376 Octal Fractions
  12. 【python】迭代一列 斐波那契数列
  13. 查看SGA和PGA使用率
  14. 解读sample1
  15. linux boost 安装
  16. c语言复杂声明解析
  17. git在webstorm中的使用
  18. SpringMvc自动装配@Controller无效
  19. TTL与非门电路分析
  20. Vue-admin工作整理(二):项目结构个人配置

热门文章

  1. 【续集】塞翁失马,焉知非福:由 Styles.Render 所引发 runAllManagedModulesForAllRequests=&quot;true&quot; 的思考
  2. php对表格进行批量操作如全选反选删除功能
  3. ASP.NET实现微信功能(1)(创建菜单,验证,给菜单添加事件)
  4. wordpress上传图片时重命名--修改插件时遇到的一些问题
  5. git切换到远程分支
  6. 怎样制作web版的folder treeview
  7. .net登录的一般模式
  8. 簡單工廠模式-之-什麼是產品線 And 抽象工廠模式-之-什麼是產品族
  9. Verilog HDL模型的不同抽象级别
  10. codevs 1021 玛丽卡(spfa)