Мне было интересно, как получить 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;
}
Однако это не работает. Мне было интересно, если кто-то может помочь.
Спасибо