我在MVC 5中有一些区域,每个区域都有自己的HomeController。 所以URL看起来像:
/domain/{area}/{controller}/{action}/{id}
/domain/myarea/home/myaction
是否可以配置路由以隐藏每个区域的家庭控制器名称?所以URL应如下所示:
/domain/myarea/myaction
- 当然指向家庭控制器。
谢谢, 亚历克斯。
答案 0 :(得分:0)
您应该能够更新区域注册的路由模式,以删除控制器名称。
例如:
public class EventsAreaRegistration : AreaRegistration
{
public override string AreaName
{
get
{
return "Events";
}
}
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
"Events_default",
"Events/{action}/{id}",
new { action = "Index", controller = "Home", id = UrlParameter.Optional },
new string[] { "MyProject.Areas.Events.Controllers" }
);
}
}
现在,请求yourSite/Events/Details/23
将在“事件”区域中返回HomeController的“详细信息”操作方法。