2010-02-20 138 views
1

這應該很簡單。我想得到一個絕對的烏里給予控制器,行動和其他路線的價值。換句話說,我想要做什麼Html.ActionLink做,但沒有錨點,我想在我的控制器。使用路由獲取絕對網址

回答

0

您可以使用UrlHelper.Action()生成鏈接網址。你的控制器已經擁有這個屬性Url。

Url.Action("Logout", "AccountController") 
+0

大。 UrlHelper需要一個我從ControllerContext獲得的RequestContext。 – Martin

+0

您不必指定AccountController作爲aAccount就足夠了,如'Url.Action(「Logout」,「Account」)' –

4

當我嘗試使用UrlHelper(字符串操作,字符串控制器)時,我仍然得到一個相對路徑。

因此,要生成完整的網址,我使用了Uri並將請求的URI作爲baseUri傳遞。

即:


var urlHelper = new UrlHelper(Request.RequestContext); 
var routeUri = new Uri(Request.Url, urlHelper.Action("action", "controller")); 
return routeUri.AbsoluteUri;