首页 > 代码库 > 【总结】详细说说@Html.ActionLink()的用法

【总结】详细说说@Html.ActionLink()的用法

一、@Html.ActionLink()概述

 在MVC的Rasor视图引擎中,微软采用一种全新的方式来表示从前的超链接方式,它代替了从前的繁杂的超链接标签,让代码看起来更加简洁,通过 浏览器依然会解析成传统的a标签。除此之外,还允许我们添加Html属性。下面来看看@Html.ActionLink()的使用方法吧。

二、@Html.ActionLink()的使用详解

 1.@Html.ActionLink("linkText","actionName")

这种重载的第一个参数是该链接要显示的文字,第二个参数是对应的控制器的方法(Action),默认控制器为当前页面对应的控制器,若当前页面的控制器为Products, @Html.ActionLink("detail","Detail") 则会生成 <a href="http://www.mamicode.com/Products/Detail">detail</a>

2.@Html.ActionLink("linkText","actionName","controlName")

该重载比第一个重载多了一个参数,他指定了控制器的名称,如 @Html.ActionLink("detail","Detail","Products") 则会生成 <a href="http://www.mamicode.com/Products/Detail">detail</a>

3.@Html.ActionLik("linkText","actionName",routeValues)

相对于上一种重载方式,该重载新增了routeValue参数,routeValue可以向action传递参数,如 @Html.ActionLink("detail","Detail",new { id=1}) ,会生成

<a href="http://www.mamicode.com/Products/Detail/1">detail</a> ,此处假设当前的控制器是Products。

4.@Html.ActionLink("linkText","actionName",routeValues,htmlAttributes)

htmlAttribute可以设置 <a> 标签的属性,如 @Html.ActionLink("detail","Detail",new{id=1},new{ target="_blank"}) 会生成 <a href="http://www.mamicode.com/Products/Detail/1" target="_blank"> detail </a> ,

需要主要的是如果写成 new{ target="_blank",class="className"} 则会报错,

因为class是关键字,此处应该写成 @class="className"

5.@Html.ActionLink("linkText","actionName","controlName",routeValues,htmlAttributes)

该种重载汇聚了以上四种重载的所有参数,是功能最全的重载。

三、总结

以上就是@Html.ActionLink()的使用方法,由于参数个数和顺序比较容易混淆,所以还是要多练习才可以掌握,新技能Get!

【总结】详细说说@Html.ActionLink()的用法