我在 ASP MVC 中遇到了一个问题,我试图访问管理区域中的视图App/Areas/Admin/Account/Manage
,但是该页面有时会为根命名空间控制器中的用户配置文件页面提供服务App/Account/Manage
。
似乎是在我对管理视图进行更改之后,但在重新启动调试器后再次正常工作。
我正在使用 RazorGenerator,所以我怀疑这与此有关,但是我不想冒另一个开发人员在不更新剃须刀生成器的情况下发布应用程序的风险,并且管理员有权访问用户个人资料页面。
所有路由都AreaRegistration.RegisterAllAreas();
在 Global.asax 文件中注册
默认路由配置包括应用命名空间;
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional },
namespaces: new[] { "App.Controllers" }
);
并且管理区注册包含路由;
context.MapRoute(
name: "Admin_default",
url: "Admin/{controller}/{action}/{id}",
defaults: new { action = "Index", id = UrlParameter.Optional },
namespaces: new[] { "App.Areas.Admin.Controllers" }
);
我已经设置了一个断点,并且可以通过管理控制器跟踪代码,但是一旦return View(model)
命中该行,它就会尝试重定向到用户配置文件而不是管理视图。
有没有人遇到过类似的事情?