4

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

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

站点结构为:
Controllers
- > MyHome --
> AuthorController
-- > ArticleController -
> Views
--> Article
---> Index.aspx
-> Author
-> Index.aspx

但是当我打电话时

RouteTable.Routes.GetVirtualPath(this.viewContext.RequestContext..

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

好吧,我在做什么错?

4

1 回答 1

0

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

RouteTable.Routes.GetVirtualPath(this.viewContext.RequestContext, "article", ..
于 2013-10-08T19:48:44.870 回答