在Razor中,有HTML.ActionLink和 Url.Action來呈現鏈接。它們有什麼區別呢。能分清了,就知道在什麼情況之下使用它們了。首先來看html.ActionLink,這個方法重載挺多的,最終生成一個<a href=".."></a>標記。如果沒有指定controller,則預設為本
在Razor中,有HTML.ActionLink和 Url.Action來呈現鏈接。它們有什麼區別呢。能分清了,就知道在什麼情況之下使用它們了。
首先來看html.ActionLink,這個方法重載挺多的,最終生成一個<a href=".."></a>標記。
如果沒有指定controller,則預設為本頁面對應的Controller。
方法一:Html.ActionLink("link text","actionName")
方法二:Html.ActionLink("link text","actionName","controlName")
方法三:Html.ActionLik("link text","actionName",routeValues)
routeValues參數是routeValue可以向action傳遞參數,如new { id=1}
方法四:Html.ActionLink("link text","actionName",routeValues,htmlAttributes)
方法中最後一個參數htmlAttribute可以設置<a>標簽的屬性。
方法五:Html.ActionLink("link text","actionName","controlName",routeValues,htmlAttributes)
這個就不做實例演示了,它就是上面的各個版本的綜合版。
Url.Action只返回一個url,也可以指定控制器指定action讓其返回完整URL地址,這個url是不含<a>標簽的。
下麵Insus.NET列舉一個方法重載:Url.Action("actionName","controllerName",routeValueDictionary,"protocol","hostName")