有关的:
找到了多种与名为“Home”的控制器匹配的类型 - 在两个不同的区域中
找到了与名为“FW”的控制器匹配的多种类型。
对“FW”的请求找到了以下匹配的控制器:
app.Controllers.Admin.FWController
app.Areas.Manage.Controllers.FWController
我尝试了这些相关链接的建议。我试图通过使用不同的命名空间来区分控制器:
全局.asax.cs
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}",
new { controller = "Account", action = "LogOn", id = UrlParameter.Optional },
new string[] { "app.Controllers" }
);
routes.MapRoute(
"Default_Admin_Top", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Account", action = "LogOn", id = UrlParameter.Optional },
new string[] { "app.Controllers.Admin" }
);
在管理区域ManageAreaRegistration
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
"Manage_default",
"Manage/{controller}/{action}/{id}",
new { action = "Index", id = UrlParameter.Optional },
new string[] { "app.Areas.Manage.Controllers" }
);
}
我还在bin
文件夹中查找了旧版本,但只有当前版本。
我错过了什么?看来这应该可行。
问题似乎围绕着这样一个事实,即我为控制器提供了自己的命名空间,而它却不在自己的区域中:
namespace app.Controllers.Admin
{
public class FWController : Controller{}
}
从这里的命名空间中删除.Admin
将删除冲突和错误,但我不完全理解为什么。