2011-12-13 59 views
0

我想有可能使我的訪問我的管理頁面打字時:地址犯規以點帶面的索引文件

www.sitename.com/admin

我已經決定去與區域approuch 。但它似乎還沒有工作。

我創建了管理區域並更新了管理區域註冊中的路線。它看起來像這樣:

 context.MapRoute(
     "Admin_default", 
     "Admin/{controller}/{action}/{id}", 
     new { area = "Admin", action = "Index", id = UrlParameter.Optional }, 
     new string[] { "skylearn.Areas.Admin.Controllers" } 
    ); 

    public static void RegisterRoutes(RouteCollection routes) 
    { 
     routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 

     routes.MapRoute(
      "Default", // Route name 
      "{controller}/{action}/{id}", // URL with parameters 
      new { controller = "Home", action = "Index", id = UrlParameter.Optional }, // Parameter defaults 
      new string[] { "skylearn.Controllers"} 
     ); 
    } 

    protected void Application_Start() 
    { 
     AreaRegistration.RegisterAllAreas(); 

     RegisterGlobalFilters(GlobalFilters.Filters); 
     RegisterRoutes(RouteTable.Routes); 
    } 

但它似乎如果我去我的網址本地主機:1337 /管理員位於由我的HomeController不會加載服務我的主文件夾的索引文件。這些文件夾和控制器也位於管理區域內。

任何想法爲什麼會發生這種情況?

回答

1

嘗試:

context.MapRoute(
    "Admin_default", 
    "Admin/{controller}/{action}/{id}", 
    new { area = "Admin", controller = "Home", action = "Index", id = UrlParameter.Optional }, 
    new string[] { "skylearn.Areas.Admin.Controllers" } 
);  

你沒有指定路線的默認區域或控制器。

+0

沒有改變什麼我害怕。感謝您的輸入,雖然 – AronChan

+0

我假設您的名字空間skylearn是正確的情況下,它不是SkyLearn?你有沒有在你的RegisterArea中指定的其他路線?如果是這樣,你應該添加RegisterArea例程到你的問題,因爲路線順序可以有所作爲。 – Dangerous

+0

是的,我有默認路由註冊。該路線使用另一個命名空間。是的,skylearn是命名空間,但它是用小s寫的。即時添加註冊區 – AronChan