0
我想知道如何獲取給定區域,控制器和動作名稱的URL。到目前爲止,我設法想出的是:從區域,控制器和動作獲取虛擬路徑
var httpContext = new HttpContextWrapper(HttpContext.Current);
var routeData = RouteTable.Routes.GetRouteData(httpContext);
if (routeData != null) {
var virtualPath = routeData.Route.GetVirtualPath(new RequestContext(httpContext, routeData), new RouteValueDictionary(new { area = "Pages", controller = "Home", action = "Index" }));
if (virtualPath != null)
newNode.Url = "~/" + virtualPath.VirtualPath;
}
但它不起作用。我想知道是否有人可以幫忙。
感謝
你需要做什麼?你有訪問HTTP上下文嗎?當你說它不起作用時,你會更具體一些,並解釋預期的結果和實際結果? –
感謝您的回覆。我試圖將它添加到我在網上找到的MVC SiteMap提供程序。我發現一個缺乏區域支持,所以我想我只是將它添加到路由值字典中,但不是這樣,因爲錯誤的路由被選中。我有一種感覺,這與數據令牌有關。 – nfplee