我在库中定义了一个控制器。我想通过我的3个区域可以访问这个控制器。此时,当通过例如“admin”区域(即/ admin / contact的url)访问时,未找到控制器(假设“联系人”)。但是,通过“/ contact”访问时它确实有效。
区域是否需要路由配置以允许通过这些区域访问公共控制器?
感谢。
答案 0 :(得分:1)
您可以将此控制器放在命名空间中:
namespace MvcApplication1.Controllers.MyAreas
{
public class ContactsController : Controller
{
...
}
}
然后在您的区域注册中指定此命名空间:
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
"Admin_default",
"Admin/{controller}/{action}/{id}",
new { action = "Index", id = UrlParameter.Optional },
new[] { "SomeLibrary.Controllers.MyAreas" }
);
}
现在,当您导航到/admin/contacts/index
时,Index
的{{1}}操作将被执行。