在区域注册中注册路线

2024-03-19

我所在区域有两条路线,一条是自定义路线,一条是默认后备路线,请参见下文

        var dashboardRoute = new DashboardRoute(
            ObjectFactory.GetInstance<PathResolver>(),
            ObjectFactory.GetInstance<VirtualPathResolver>(),
            null);
        context.Routes.Add(dashboardRoute);

        context.Routes.MapRoute(
            "Dashboard_Default", // Route name
            "dashboard/{controller}/{action}/{id}", // URL with parameters
            new { controller = "pages", action = "index", id = UrlParameter.Optional, area = "Dashboard" } // Parameter defaults
        );

当我使用 context.Routes.Add/MapRoute 添加两条路线时,最后一条路线不起作用,但是当我在最后一条路线上使用 context.MapRoute 时,它​​可以工作,但我的自定义路线中的 GetVirtualPath 不用于操作链接。我以为 MapRoute 只是 context.Routes.Add 的扩展?调试路由的最佳方法是什么?我用过菲尔·哈克斯 http://haacked.com/archive/2008/03/13/url-routing-debugger.aspx路由调试,但它不适用于我的自定义路由,还有其他方法来调试路由吗?

我真的需要一些帮助。 我的仪表板区域中的路线注册如下所示 -

        var dashboardRoute = new PagesRoute(
            ObjectFactory.GetInstance<PathResolver>(),
            ObjectFactory.GetInstance<VirtualPathResolver>(),
            null);
        context.Routes.Add("Dashboard", dashboardRoute);

        context.MapRoute(
            "Dashboard_default",
            "dashboard/{controller}/{action}/{id}",
            new { controller = "dashboard", action = "index", id = UrlParameter.Optional }
        );

PageRoute 是一个自定义路由,您可以在此处找到代码http://bit.ly/er6HPn http://bit.ly/er6HPn通过此路由活动,像这样的链接效果很好 Html.ActionLink("Manage Roles", "manageroles", "account") 但是当我有一个应该与我的自定义路由一起使用的链接时,就像这样 Html.ActionLink(page.MetaData.名称,“编辑”,“页面”,新{文档=页面},null)结果是http://stormbreaker.local/dashboard/pages/edit?document=Stormbreaker.Example.Models.Page http://stormbreaker.local/dashboard/pages/edit?document=Stormbreaker.Example.Models.Page,这意味着我的 PageRoute 中的 GetVirtualPath 从未使用过。谁能向我解释一下方法以及如何解决这个问题?


解决了,如果在 RouteCollection 对象中注册自定义 RouteBase 实例,带区域的路由 http://msdn.microsoft.com/en-us/library/system.web.mvc.iroutewitharea%28VS.100%29.aspx接口允许您将该 RouteBase 实例与一个区域关联起来

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在区域注册中注册路线 的相关文章

随机推荐

  • VBA-Loop 和一些工作表

    我是一个初学者 我想在我的 Excel 文件的所有工作表中进行循环 除了第一个工作表 然而 下面的代码仅适用于第二个 您能解释一下这段代码有什么问题吗 非常感谢 Sub MobileTCalculation MobileTCalculati
  • Ivy、Ant、Jenkins - 在 Jenkins 构建上使用 是个好主意吗?

    我们将使用 Ivy 和 Ant 并且让 Jenkins 来完成我们的构建 我原本以为让詹金斯做一个
  • 如何使用Nashorn引擎调用Java对象

    我想使用 Nashorn 控制台来替代 Rails c 例如 我想调用Java方法从远程系统导入数据并执行数据迁移 我发现这非常有趣 https www baeldung com java nashorn https www baeldun
  • 带或不带 MSYS 的 MinGW makefile(del 与 rm)

    我正在使用 MinGW 在 Windows 上编译一些东西 我打电话mingw32 make直接来自cmd exe一切 我需要的 都工作正常 但是我发现我需要能够从 MSYS 环境进行编译 并且我遇到了问题copy and del命令不被识
  • 触摸事件不适用于 Cordova 应用程序的 ios 版本

    我有一个非常简单的科尔多瓦应用程序 它是默认科尔多瓦 设备就绪 模板的扩展 它有一个按钮 附加了一个简单的单击事件 可以看到这里在 iOS 模拟器上运行 以下是我的项目的代码 索引 html
  • 使用记录编辑器/Jrecord 解压 COMP-3 数字

    我根据 cobol copybook 创建了布局 布局快照 我尝试加载数据并选择相同的布局 它给我的某些列提供了错误的结果 我尝试使用所有二进制数字类型 类阶边缘 DIV 无 EDG 办公室 无 EDG 注册区域无 EDG 城市 无 EDG
  • 使用“lapply”对数据框 (R) 中的所有列进行缩排序

    我正在尝试应用Winsorize 函数使用lapply来自library DescTools 包裹 我目前拥有的是 data col1 lt Winsorize data col1 这本质上用基于分位数的值替换了极值 替换了以下数据 gt
  • 在Python中解析日期字符串

    我如何重写以下子句 if u in date category title month 1 elif u in date category title month 2 elif u in date category title month
  • Firefox 和 Chrome 填充之间的区别

    Firefox 和 chrome 在 css 中渲染填充的方式有所不同 在 Chrome 中显示正确的内容在 Firefox 中进行了额外填充 有办法解决吗 button font family helvetica arial font s
  • ({"key": "value"} = {}) 语法在 JavaScript 函数中的含义是什么

    我正在学习 JavaScript 课程 特别是 MongoDB 大学 M220JS 课程 在其中一个任务中 我遇到了类内函数声明的语法 static async getMovies filters null page 0 moviesPer
  • Azure Functions 绑定重定向

    是否可以在 azure 函数文件夹结构中包含 web config 或 app config 文件以允许程序集绑定重定向 假设您正在使用最新的 2017 年 6 月 Visual Studio 2017 函数工具 我根据以下发布的代码片段得
  • 如何将整个表格视图捕获为图像,从中创建 .pdf 并通过电子邮件发送

    这是我第一次尝试在 iOS 中创建 pdf 文件 我有一个表格视图 它生成我想要在 pdf 文件中呈现的所有数据 这是我的代码 用于将整个表格捕获为图像 从图像生成 pdf 并通过电子邮件发送 IBAction save id sender
  • PRG 模式是否有一个在验证失败时不会重定向的名称?

    我的网站遵循重定向后获取模式 似乎有两种方法可以处理失败的验证 任何一个 使用验证消息渲染页面 临时存储验证消息 并重定向到显示消息的 GET 这两种实现都遵循 PRG 模式吗 是否有更具体的方法来描述这两种模式 我问这个问题主要是为了教育
  • 文件 ld-linux-x86-64.so.2 中未定义版本 GLIBC_PRIVATE

    如果有人可以给初学者一些有关 gcc 版本问题的帮助吗 我遇到了这个问题 version GLIBCXX 3 4 20 not found 我点击链接后 如何在 CentOS 7 2 上使用 yum 安装 gcc 5 3 https sta
  • 静态变量顺序[重复]

    这个问题在这里已经有答案了 我对 C 中静态变量声明的顺序有疑问 当我运行这段代码时 static class Program private static int v1 15 private static int v2 v1 static
  • 具有虚函数的类的大小

    我正在修改 C 概念 但我坚持使用非常简单的代码 include
  • Dart 产生来自另一个流监听器的流事件

    我有一个函数可以生成stream的具体事件 现在我有一个来自存储服务的流 它有自己的事件 寻找一种方法在发生变化时产生我的事件storage stream 这段代码片段并不能解决问题 Stream
  • 输入空值时停止提交

    我正在寻找一个简单的解决方案来阻止登录表单提交空输入字段 表格的代码如下 如果可能的话 我想使用一个简单的 Javascript 解决方案
  • 如果模式匹配,则打印 lua 表中的值

    好吧 我最近刚接触 lua 发现自己陷入了以下困境 我有函数peripheral getNames 这是一个自定义函数 它将返回一个具有结构 key value 的表 而 key 始终是一个数字 从 1 开始 value 将是该函数找到的内
  • 在区域注册中注册路线

    我所在区域有两条路线 一条是自定义路线 一条是默认后备路线 请参见下文 var dashboardRoute new DashboardRoute ObjectFactory GetInstance