Общий контроллер, несколько областей - нужна маршрутизация?
У меня есть контроллер, определенный в библиотеке. Я хотел бы, чтобы этот контроллер был доступен через любую из моих 3 областей. На данный момент контроллер (скажем, "контакт") не обнаруживается, когда к нему обращаются, например, через область "администратор" (то есть URL /admin/contact). Однако он работает при доступе через "/ контакт".
Требуется ли какая-либо конфигурация маршрута для областей, чтобы разрешить доступ к общему контроллеру через эти области?
Благодарю.
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
действие ContactsController
будет выполнен.