【问题标题】:GetVirtualPath returns the first routeGetVirtualPath 返回第一条路由
【发布时间】:2011-01-09 06:27:49
【问题描述】:

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

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

网站结构是:
控制器
-> 我的家
--> 作者控制器
--> 文章控制器
->视图
--> 文章
---> 索引.aspx
-> 作者
-> 索引.aspx

但是当我打电话时

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

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

知道我做错了什么吗?

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-07
      • 1970-01-01
      • 2018-09-13
      • 2018-06-17
      • 1970-01-01
      相关资源
      最近更新 更多