轉自 http://www.liuwu.net/post/aspnet-mvc-learning-5-html-actionlink.aspx
本文整理了該方法的幾種重載形式:
一 Html.ActionLink("linkText","actionName")
該重載的第一個參數是該連結要顯示的文字,第二個參數是對應的控制器的方法,預設控制器為當前頁面的控制器,如果當前頁面的控制器為 Products,則 Html.ActionLink("detail","Detail") 則會產生 <a href="/Products/Detail">all</a>
二 Html.ActionLink("linkText","actionName","controlName")
該重載比第一個重載多了一個參數,他指定了控制器的名稱,如Html.ActionLink("detail","Detail","Products")則會產生<a href="Products/Detail">all</a>
三 Html.ActionLik("linkText","actionName",routeValues)
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("linkText","actionName","controlName","protocol","hostName","fragment",routeValues,htmlAttributes)
該重載使用比較少,他可以指定訪問的協議,網域名稱還有錨點,如 Html.ActionLink("liuwu","Detail","Products","http","www.liuwu.me","name",null,null) 可以產生 <a href="http://www.liuwu.me/Products/Detail#name">liuwu</a>