1、@Html.ActionLink()概述html
在MVC的Rasor視圖引擎中,微軟採用一種全新的方式來表示從前的超連接方式,它代替了從前的繁雜的超連接標籤,讓代碼看起來更加簡潔。經過瀏覽器依然會解析成傳統的a標籤。除此以外,還容許咱們添加Html屬性。下面來看看@Html.ActionLink()的使用方法吧。瀏覽器
2、@Html.ActionLink()的使用詳解htm
1. @Html.ActionLink("linkText", "actionName")對象
這種重載的第一個參數是該連接要顯示的文字,第二個參數是對應的控制器的方法(Action),默認控制器爲當前頁面對應的控制器。字符串
例如,當前頁面的控制器爲ProductsController:@Html.ActionLink("detial", "Detial")會生成<a href="/Products/Detail">detail</a>get
2. @Html.ActionLink("linkText", "actionName", "controllerName")string
該重載比第一個重載多了一個參數,他指定了控制器的名稱。io
例如,@Html.ActionLink("detail", "Detail", "Products")會生成<a href="Products/Detail">detail</a>class
3. @Html.ActionLink("linkText", "actionName", routeValues)變量
相對於上一種重載,該重載新增了routeValue參數,routeValue能夠向action傳遞參數。
例如,@Html.ActionLink("detail", "Detail", new{ id = 1 })會生成<a href="Products/Detail/1">detail</a>
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是C#的關鍵字,此時應該寫成@class="className"。
5. @Html.ActionLink("linkText", "actionName", "controllerName", routeValues, htmlAttributes)
該種重載匯聚了以上此種重載的全部參數,是功能最全的重載。
3、@Url.Action(),@Html.ActionLink(),Html.RenderAction()和@Html.Action()的區別
1. 返回值不一樣
2. 生成的東西不一樣