2010-07-21 101 views
10

我有一个MVC 2的位置在区域,假设该区域名称为{管理员}asp.net mvc的区域默认页面

的区域和站点工作正常。

我想要做的是为该区域设置不同的默认页面。

当我打电话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

如果它对您有帮助,请将其标记为已接受。 – 2010-07-21 15:32:45

回答

14

试试这个。确保它在/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

+0

感谢马丁,终于比我想象的容易了。 :) – StrouMfios 2010-07-23 06:23:42