从区域、控制器和操作获取 VirtualPath
我想知道如何获取给定区域、控制器和操作名称的 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;
}
然而它不起作用。我想知道是否有人可以帮忙。
谢谢
I was wondering how to get a URL given the area, controller and action names. So far all I have managed to come up with is:
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;
}
However it does not work. I was wondering if someone could help.
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果有人想知道,这是我提出的解决方案:
我希望这对某人有帮助。
Incase anyone is wondering, here's the solution I have come up with:
I hope this helps someone.