2017-01-23 98 views
0

我想渲染Index()行動從我在我的主MVC項目的佈局頁區域(名爲Menu)的頁面佈局這段代碼從區域渲染動作MVC

,並得到錯誤在這條線的佈局

@{Html.RenderAction("Index", "Menu", new { area = "" }); }

錯誤執行的處理程序 'System.Web.Mvc.HttpHandlerUtil + ServerExecuteHttpHandlerAsyncWrapper' 子請求。

,這是我AreaRegistration代碼只是爲了告知:

 public override string AreaName 
    { 
     get 
     { 
      return "Menu"; 
     } 
    } 

    public override void RegisterArea(AreaRegistrationContext context) 
    { 
     context.MapRoute(
      "Menu_default", 
      "Menu/{controller}/{action}/{id}", 
      new { controller = "Menu", action = "Index", id = UrlParameter.Optional }, 
      new string[] { "Menu.Controllers" } 
     ); 

    } 

當你看到我的控制器名稱爲菜單

編輯:我的問題的主要原因是這...索引行動關閉我的區域不能返回他的觀點...我在索引行動中設置了一個斷點,並在索引視圖中設置了一個斷點...並且程序是r在第一場比賽中停下來,但從未停止過第二場比賽! ... 所以 主要的問題是這樣的......我區的索引操作不返回索引視圖..

+1

[錯誤執行對視圖處理子請求(可能的重複http://stackoverflow.com/questions/19272720/error-executing -child-request-for-handler-in-view) – caesay

+0

你在菜單區域,並且你不需要在Html.RenderAction中設置任何區域:new {area =「Menu」}); –

+0

@LaurentLequenne我想要在我的主項目佈局頁面內渲染動作...如果我指定區域名稱。它帶來了另一個邏輯錯誤...因爲呈現的動作(這是內部佈局)不應該有父頁面... –

回答

0

試試這個

@Html.Action("Index", "Menu") 
0

我解決這個問題。實際上,唯一的解決辦法做這件事情是使用RenderPartial直接路徑:

@{ Html.RenderPartial("~/Areas/Menu/Views/Menu/Index.cshtml");}