MVC5 移动了 Controller,MVC 仍然搜索旧路径

Posted

技术标签:

【中文标题】MVC5 移动了 Controller,MVC 仍然搜索旧路径【英文标题】:MVC5 moved Controller, MVC still searches old path 【发布时间】:2017-12-26 15:57:04 【问题描述】:

我在/controllers/admin 中有一个 HomeController,一切正常 我将 HomeController 移至 /controllers,它找到了控制器,但仍在其旧路径上。

我应该期待/home/index,但我(仍然)得到的是/home/admin/index。当应用程序使用该路径来构建菜单并应用其他逻辑时,我如何才能停止或修复此问题,因为我需要正确的路径。

我已经从命名空间声明中删除了.Admin,但是这种信息还存储在哪里

【问题讨论】:

你检查过RouteConfig.cs中的默认路由了吗? 是的,这是我检查的第一件事 我想你想写/admin/home/index而不是/home/admin/index,如果是这种情况,你不应该能够访问/admin/home/index,除非你将默认路由设置为admin/controller/action/id将它更改为controller/action/id. 【参考方案1】:

大家好,这个真的很奇怪。绝望中我删除了 HomeController(将操作复制到记事本)。停止并重新启动 VS2013。打开并重建项目。创建一个新的 HomeController 并将操作粘贴回去。运行它,现在按预期工作。

我不知道是什么破坏了它,也不知道是什么修复了它。我只知道它的工作原理。

【讨论】:

以上是关于MVC5 移动了 Controller,MVC 仍然搜索旧路径的主要内容,如果未能解决你的问题,请参考以下文章

C# mvc5使用mvc5 +bootstrap+EF6搭建一个权限管理系统的心得体会

MVC5-1 ASP.NET的管道流

MVC 5 是不是存在控制器

MVC5 找到与名为“Home”的控制器匹配的多种类型

MVC5 控制器 (POST) 被调用两次(每周一次)

mvc5+ef6+Bootstrap 项目心得--身份验证和权限管理