asp.net-mvc - GetVirtualPath 返回第一条路由

标签 asp.net-mvc asp.net-routing

我的项目路线有一个奇怪的问题。
以下是我的路线:

            // pennames
        routes.MapRoute(
            "pennames", // Route name
            "MyHome/Authors/{action}/{id}", // URL with parameters
            new { controller = "Author", action = "Index", id = UrlParameter.Optional } // Parameter defaults
        );

        // article
        routes.MapRoute(
            "article", // Route name
            "MyHome/Articles/{action}/{id}", // URL with parameters
            new { controller = "Article", action = "Index", id = UrlParameter.Optional } // Parameter defaults
        );

网站结构是:
Controller
-> 我的家
--> 作者 Controller
--> 文章 Controller
-> View
--> 文章
---> 索引.aspx
-> 作者
-> 索引.aspx

但是当我打电话
RouteTable.Routes.GetVirtualPath(this.viewContext.RequestContext..

从/MyHome/Article 页面,它总是返回第一条路线 (MyHome/Author)

任何想法我做错了什么?

最佳答案

默认情况下,它返回第一条路线。获取虚拟路径时应指定路由名称。 http://msdn.microsoft.com/en-us/library/cc680260.ASPX

RouteTable.Routes.GetVirtualPath(this.viewContext.RequestContext, "article", ..

关于asp.net-mvc - GetVirtualPath 返回第一条路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4637977/

相关文章:

javascript - 如何在 bootstrap Modal asp.net mvc 中使用编辑

c# - MVC 网络 API : No 'Access-Control-Allow-Origin' header is present on the requested resource

asp.net-mvc-5 - WebApi 2 和 MVC 5 使用不同的路由属性吗?

asp.net - Web 服务器上的 system.web.routing 不工作

c# - MVC 中具有相同签名的方法

c# - 如何避免在布局页面中使用 "using System.Web.Optimization"

jquery - 如何在 JavaScript 中向 MVC 模型添加项目?

asp.net - 在 IIS 7.5 上的同一端口上运行两个网站?

c# - Web 表单路由 - 无法创建抽象类

asp.net - Web 表单中的routes.IgnoreRoute 替代方案