在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> 來間接地實現。
主要生成超鏈接,在通過代碼生成超鏈接的時候需要判斷顯示文本是否為空。切記