一、@Html.ActionLink()概述
在MVC的Rasor視圖引擎中,微軟采用一種全新的方式來表示從前的超鏈接方式,它代替了從前的繁雜的超鏈接標簽,讓代碼看起來更加簡潔,通過 瀏覽器依然會解析成傳統的a標簽。除此之外,還允許我們添加Html屬性。下面來看看@Html.ActionLink()的使用方法吧。
二、@Html.ActionLink()的使用詳解
1.@Html.ActionLink("linkText","actionName")
這種重載的第一個參數是該鏈接要顯示的文字,第二個參數是對應的控制器的方法(Action),默認控制器為當前頁面對應的控制器,若當前頁面的控制器為Products, @Html.ActionLink("detail","Detail")
則會生成 <a href="/Products/Detail">detail</a>
。
2.@Html.ActionLink("linkText","actionName","controlName")
該重載比第一個重載多了一個參數,他指定了控制器的名稱,如 @Html.ActionLink("detail","Detail","Products")
則會生成 <a href="Products/Detail">detail</a>
。
3.@Html.ActionLik("linkText","actionName",routeValues)
相對於上一種重載方式,該重載新增了routeValue參數,routeValue可以向action傳遞參數,如 @Html.ActionLink("detail","Detail",new { id=1})
,會生成
<a href="Products/Detail/1">detail</a>
,此處假設當前的控制器是Products。
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是關鍵字,此處應該寫成 @class="className"
。
5.@Html.ActionLink("linkText","actionName","controlName",routeValues,htmlAttributes)
該種重載匯聚了以上四種重載的所有參數,是功能最全的重載。
三、總結
以上就是@Html.ActionLink()的使用方法,由於參數個數和順序比較容易混淆,所以還是要多練習才可以掌握,新技能Get!