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

Html.ActionLink概述

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

Html.ActionLink的使用详解

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

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

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

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

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

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

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

@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是关键字,此处应该写成 @class="className"

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

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

总结

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

 作者:悠扬的牧笛

 博客地址:http://www.cnblogs.com/xhb-bky-blog/p/4107404.html

 声明:本博客原创文字只代表本人工作中在某一时间内总结的观点或结论,与本人所在单位没有直接利益关系。非商业,未授权贴子请以现状保留,转载时必须保留此段声明,且在文章页面明显位置给出原文连接。

 
原文地址:https://www.cnblogs.com/xhb-bky-blog/p/4107404.html