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

Posted WebEnh

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了总结详细说说@Html.ActionLink()的用法相关的知识,希望对你有一定的参考价值。

一、@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!

以上是关于总结详细说说@Html.ActionLink()的用法的主要内容,如果未能解决你的问题,请参考以下文章

Html.ActionLink , Url.Action

MVC ActionLink 从当前 url 添加所有(可选)参数

如何在 @Html.ActionLink 中添加图像

HTML.ActionLink 方法

MVC html.actionlink

MVC5 中 ActionLink 的 HTML 按钮