2015-11-28 30 views
0

我已經開始使用asp .net mvc,並且遇到了路由問題。我想在佈局文件中有一個局部視圖。我也有地區。我的路由如下:在控制器的佈局中添加部分視圖,也使用區域

routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 

routes.MapRoute(
    "Default", // Route name 
    "{controller}/{action}/{id}", // URL with parameters 
    new { area = "Home", controller = "Home", action = "Index", id = UrlParameter.Optional }, // Parameter defaults 
    null 
).DataTokens.Add("area", "Home"); 

// home and error page 
routes.MapRoute("", "error", new { area = "", controller = "Home", action = "Error" }); 
routes.MapRoute("home_default", "", new { area = "Home", controller = "Home", action = "Index" }); 

我想在佈局文件中使用

@{ Html.RenderAction("Index", "_Menu"); } 

。我在區域外的控制器文件夾中定義了_Menu控制器。我實際上得到

路徑'/ project /'的控制器未找到或未實現IController。

有沒有辦法做到這一點?

回答

0

呼叫:

Html.RenderAction("Index", "_Menu"); 

是完全一樣調用這個RenderAction:如果要確保一個呼叫到非區域控制器需要

Html.RenderAction("Index", "_Menu", new { area = "<currentArea>" }); 

所以:

Html.RenderAction("Index", "_Menu", new { area = ""}); 
+0

我不能分配一個區域爲空,如果我將它分配給空字符串我得到「路由表matc中沒有路由他提供的價值。「錯誤 – user2327579

相關問題