我有一个带有区域的MVC 2站点,假设区域名称为{Admin}
区域和网站工作正常。
我要做的是为该区域设置不同的默认页面。
当我致电 http://webSiteName 无问题时
但 http://webSiteName/Admin 我收到了错误
无法找到资源
我尝试了ASP.NET MVC 2 RC 2 returns Area-specific controller when no area specified的解决方案 但没有运气。
我也尝试了
routes.MapRoute(
"Admin",
"{controller}/{action}/{id}",
new { controller = "AdminHome", action = "index" },
new[] { "Web.Areas.Admin.Controllers" }
);
和
routes.MapRoute(
"Admin",
"Admin",
new { controller = "AdminHome", action = "index" },
new string[] { "Web.Areas.Admin.Controllers" }
);
但我仍然无法找到资源。
我做错了什么?
答案 0 :(得分:15)
试试这个。当您的区域命名为/Areas/Admin/AdminAreaRegistration.cs
时,请确保它位于Admin
。
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
"Admin_default",
"Admin/{controller}/{action}/{id}",
new { controller = "AdminHome",action = "Index", id = "" }
);
}
您无需向Global.asax
添加任何内容。