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

            // 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/

10-10 05:57