我有一个ASP.NET MVC网站和一个名为"Admin"的区域项目.
到目前为止,路由工作正常,但似乎我不能在每个项目中有2个具有相同名称的控制器.
我认为以下网址都可以正常工作:
但事实证明,当访问时,我得到以下错误:
控制器名称"Home"在以下类型之间不明确:
MyProject.Website.Controllers.HomeController
MyProject.Admin.Controllers.HomeController的
这是正常的,还是我的设置有问题?
顺便说一句,这是我的路由代码:
主要项目:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
Admin.Routes.RegisterRoutes(routes);
routes.MapAreaRoute(
"Main",
"default_route",
"{controller}/{action}/{URLName}",
new { controller = "Home", action = "Index", URLName = "" },
new string[] { "MyProject.Website" }
);
}
Run Code Online (Sandbox Code Playgroud)
地区项目:
public static void RegisterRoutes(RouteCollection routes)
{
routes.MapAreaRoute(
"Admin",
"Admin_Default",
"Admin/{controller}/{action}",
new { controller = "Home", action = "Index" },
new string[] { "MyProject.Admin" }
);
}
Run Code Online (Sandbox Code Playgroud)
阅读这篇文章后发现了这个问题.
我应该在第5个参数中指定'Controllers'命名空间,而不仅仅是项目命名空间.
例如
new string[] { "MyProject.Admin.Controllers" }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
352 次 |
| 最近记录: |