一、@Html.ActionLink()概述
在MVC的Rasor视图引擎中,微软采用一种全新的方式来表示从前的超链接方式,它代替了从前的繁杂的超链接标签,让代码看起来更加简洁,通过 浏览器依然会解析成传统的a标签。除此之外,还允许我们添加Html属性。下面来看看@Html.ActionLink()的使用方法吧。
二、@Html.ActionLink()的使用详解
[email protected]("linkText","actionName")
这种重载的第一个参数是该链接要显示的文字,第二个参数是对应的控制器的方法(Action),默认控制器为当前页面对应的控制器,若当前页面的控制器为Products, @Html.ActionLink("detail","Detail")
则会生成 <a href="/Products/Detail">detail</a>
。
[email protected]("linkText","actionName","controlName")
该重载比第一个重载多了一个参数,他指定了控制器的名称,如 @Html.ActionLink("detail","Detail","Products")
则会生成 <a href="Products/Detail">detail</a>
。
[email protected]("linkText","actionName",routeValues)
相对于上一种重载方式,该重载新增了routeValue参数,routeValue可以向action传递参数,如 @Html.ActionLink("detail","Detail",new { id=1})
,会生成
<a href="Products/Detail/1">detail</a>
,此处假设当前的控制器是Products。
[email protected]("linkText","actionName",routeValues,htmlAttributes)
htmlAttribute可以设置 <a>
标签的属性,如 @Html.ActionLink("detail","Detail",new{id=1},new{ target="_blank"})
会生成 <a href="Products/Detail/1" target="_blank"> detail </a>
,
需要主要的是如果写成 new{ target="_blank",class="className"}
则会报错,
因为class是关键字,此处应该写成 @class="className"
。
[email protected]("linkText","actionName","controlName",routeValues,htmlAttributes)
该种重载汇聚了以上四种重载的所有参数,是功能最全的重载。
三、总结
以上就是@Html.ActionLink()的使用方法,由于参数个数和顺序比较容易混淆,所以还是要多练习才可以掌握,新技能Get!