在asp.net MVc中想生成一个超链接有很多种方式,通过直接输入<a>、Html.ActionLink、Html.RouteLink等等,今天我们要阐述的就是Html.ActionLink 知识点总结。
@Html.ActionLink有10个重载,
示例代码 说明 @Html.ActionLink("LinkText","ActionName")在生成的超链接中,LinkText指定的文本不可以为Null或空,否则程序会报错
@Html.ActionLink("博客园","Index"),生成一个指向首页的超链接
@Html.ActionLink("LinkText","ActionName","ControllerName") @Html.ActionLink("首页","Index","Home") <a href="home/index">首页</a> @Html.ActionLink("LinkText","ActionName","ControllerName","RoutValues","HtmlAttributes")这种方式使用的比较多,因为可以定义ActionName和ControllerName,并且可以设置route和HtmlAttribute的值.
@Html.ActionLink("首页","Index","Home",new{id="11"},new{@class="btnLogin",data_val="guozhqi" id="btnLogin"})
<a href="home/index/11" class="btnLogin" id="btnLogin" data-val="guozhiqi">首页</a>
注意:在htmlAttribute添加class的时候需要在class前面添加@
在自定义属性中如果有- 减号的情况下,需要将减号修改成_ 下划线,在生成的html中辉自动更改为减号。
注意在选择合适的重载的时候,方法中的参数类型要注意,因为重载中有很多object类型
问题:是否可以通过使用@Html.ActionLink()来生成一个无显示文字的超链接?答案是否定的,因为在Html.ActionLink中,显示文本时必须填写并且不允许为空的。可以采用<a href="@Url.Action("Index","Home")" class="btnLogin"></a> 来间接地实现。
主要生成超链接,在通过代码生成超链接的时候需要判断显示文本是否为空。切记