2012-08-30 42 views
3

我到了我已經創建我的主要前​​端站點。我添加了我的區域並開始在後端工作。除了那些讓我煩惱的東西外,兩部分都進展順利。asp.net mvc區域和主站點w /相同的控制器名稱

我想在兩個區域都有一個主控制器,但是得到的錯誤是我不能再多一個。我已經跟着幾個教程沒有運氣。 Here是我試過的最後一個。

我已經開始了一個新的項目只是爲了測試這這裏是我的註冊路線代碼:

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[] { "Test.Controllers" } 
    ); 
} 

我已經把這段代碼在我的Global.asax.cs文件?這似乎沒有任何幫助。這是我真正的錯誤:

爲「家」發現下列匹配控制器請求: Test.Areas.Portal.Controllers.HomeController Test.Controllers.HomeController

任何提示或指針將是巨大的!我已經回顧了這裏提出的其他問題,但他們都說要做我已經在做的事情,那就是添加我在上面做的功能。


路徑控制器:
Areas - Portal - Controllers - HomeController.cs
Controllers - HomeController.cs

+0

HomeController在這兩方面的含義是什麼? –

+0

我將在上面添加我的文件夾結構,以便您可以看到即時嘗試的內容。 – Silent

+0

你的Portal HomeController和root HomeController的命名空間是什麼? – danludwig

回答

3

嘗試插入的IgnoreRoute行之後緊跟

AreaRegistration.RegisterAllAreas(); 

編輯:

我試圖創建一個新的項目,並添加帶有家庭控制器的新區域。只要運行應用程序,我就能重現你的錯誤。

進行相同的代碼更改,您修復此問題。

我會建議右鍵單擊系統托盤中的ASP.NET開發服務器圖標,然後單擊退出,然後嘗試重新運行該應用程序。

如果這樣不能解決問題,請仔細檢查您在RegisterRoutes方法中指定的名稱空間是否與默認控制器的完整名稱空間完全匹配。

+0

它必須是我使用的計算機的東西,我在家裏的桌面上打開了項目,運行完全相同的代碼,它工作。我嘗試重新啓動開發服務器,但沒有幫助其他電腦。奇。感謝您的幫助。 – Silent

相關問題