【问题标题】:Get all routes defined in global.asax获取 global.asax 中定义的所有路由
【发布时间】:2011-01-10 13:18:46
【问题描述】:

我在我的 asp.net c# 应用程序中使用 webformrouting。

在我的 global.asax 文件中,我定义了几条路线。

我的问题是,我怎样才能获得从后面的代码(在页面上)定义的所有路由的列表?

【问题讨论】:

    标签: c# asp.net routing


    【解决方案1】:

    您可以访问RouteTable 上的Routes 属性

    System.Web.Routing.RouteTable.Routes;
    

    【讨论】:

    • 抱歉听起来很愚蠢,但这如何返回所有路线的列表?
    • 也许我没有正确理解这个问题,但这会返回一个 RouteCollection。此集合包含所有已定义的路由。见msdn.microsoft.com/en-us/library/…
    • 我在使用您的示例时得到了这个:方法都有 1 个参数,但使用 0 个参数调用
    • 糟糕,我的错误。你不需要 .All()
    • 在 2008 年最初被问到时,这可能很容易。但是现在 - 路线内有收集路线,这些路线并不那么容易列举。
    【解决方案2】:

    我创建了一个 partialView 以在站点中可视化这些内容以不时帮助我(调试)。

    @{ 
        var routes = RouteTable.Routes;
    }
    @foreach (var route in routes)
    {
        var r = (System.Web.Routing.Route)route;
        <h4>@r.Url</h4>
    }
    

    【讨论】:

      猜你喜欢
      • 2010-09-28
      • 2016-07-07
      • 2012-07-27
      • 2021-10-14
      • 1970-01-01
      • 2013-02-10
      • 1970-01-01
      • 2012-02-02
      • 2023-03-07
      相关资源
      最近更新 更多