1、@Html.ActionLink()概述html
在MVC的Rasor视图引擎中,微软采用一种全新的方式来表示从前的超连接方式,它代替了从前的繁杂的超连接标签,让代码看起来更加简洁。经过浏览器依然会解析成传统的a标签。除此以外,还容许咱们添加Html属性。下面来看看@Html.ActionLink()的使用方法吧。浏览器
2、@Html.ActionLink()的使用详解htm
1. @Html.ActionLink("linkText", "actionName")对象
这种重载的第一个参数是该连接要显示的文字,第二个参数是对应的控制器的方法(Action),默认控制器为当前页面对应的控制器。字符串
例如,当前页面的控制器为ProductsController:@Html.ActionLink("detial", "Detial")会生成<a href="/Products/Detail">detail</a>get
2. @Html.ActionLink("linkText", "actionName", "controllerName")string
该重载比第一个重载多了一个参数,他指定了控制器的名称。io
例如,@Html.ActionLink("detail", "Detail", "Products")会生成<a href="Products/Detail">detail</a>class
3. @Html.ActionLink("linkText", "actionName", routeValues)变量
相对于上一种重载,该重载新增了routeValue参数,routeValue能够向action传递参数。
例如,@Html.ActionLink("detail", "Detail", new{ id = 1 })会生成<a href="Products/Detail/1">detail</a>
4. @Html.ActionLink("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是C#的关键字,此时应该写成@class="className"。
5. @Html.ActionLink("linkText", "actionName", "controllerName", routeValues, htmlAttributes)
该种重载汇聚了以上此种重载的全部参数,是功能最全的重载。
3、@Url.Action(),@Html.ActionLink(),Html.RenderAction()和@Html.Action()的区别
1. 返回值不一样
2. 生成的东西不一样