我在Global.asax中定义了几条路由;

当我在一个页面上时,我需要弄清楚当前路由的路由名称是什么,因为路由名称驱动我的站点菜单.

如何做到这一点?

推荐答案

不幸的是,无法获取路由的路由名称,因为该名称不是路由的属性.将路由添加到RouteTable时,该名称将用作路由的内部索引,并且永远不会公开.

有一种方法可以做到这一点.

注册路由时,在路由上设置一个带有路由名称的DataToken,并使用它来过滤路由.

做#1最简单的方法可能是编写自己的扩展方法来映射路由.

Asp.net相关问答推荐

缓存httpmessage内容

self 跟踪实体与 POCO 实体

加载特定 UpdatePanel 后如何调用客户端 javascript 函数

如果站点在 localhost 或 127.0.0.1 上运行,如何判断 ASP.NET MVC 视图

RestSharp 获取请求的完整 URL

控制器 SessionStateBehavior 是只读的,我可以更新会话变量

Twitter bootstrap glyphicons 不会出现在发布模式 404 中

如何在asp.net mvc的html.actionlink中调用javascript函数?

缩小失败.返回未缩小的内容

如何使用 asp.net 获取 html Select 的选定值

如何找出我的 Windows 域上托管 LDAP 的服务器?

IIS 会话超时与 ASP.NET 会话超时

VS2017 无法加载文件或程序集 Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll 或其依赖项之一

Azure 网站 301 重定向 - 我应该把它放在哪里?

我可以在 .NET Framework 4.0 上运行 MVC 5 应用程序吗?

IIS 是否执行非法字符替换?如果是这样,如何阻止它?

您可以从 web.config 文件中的其他位置提取 log4net AdoNetAppender 的 connectionString 吗?

Sys.WebForms.PageRequestManagerServerErrorException:处理服务器上的请求时发生未知错误.

Visual Studio 2013 ASP.NET 项目中 Antlr 包的用途是什么?

在没有等待 #2 的情况下调用异步方法