Html.RenderAction MVC区域路由问题

jjc*_*c99 4 asp.net-mvc razor

我试图在我的ASP.net MVC 4项目的主Shared _Layout.chtml文件中呈现局部视图.这个简单的代码如下所示

@{Html.RenderAction("UserMenu", "MyController");}
Run Code Online (Sandbox Code Playgroud)

当用户位于站点的根目录内时,这一切都正常.但是,我的项目还包括一个名为"客户"的"区域".

当用户导航到我网站"客户"区域内的任何位置时,上面的行发生异常,调试器基本上告诉我它找不到控制器

"The controller for path '/Customers/CustomersHome' was not found or does not implement IController."
Run Code Online (Sandbox Code Playgroud)

如果我使用Html.RenderPartial,则会发生同样的异常

有趣的是,如果我为Html.Action换掉Html.RenderAction,则不会发生此异常(尽管显然没有渲染).

有没有人知道解决这个问题的方法?

Sli*_*sim 13

您是否尝试将区域设置为空字符串?

@{Html.RenderAction("UserMenu", "MyController", new { area="" });}
Run Code Online (Sandbox Code Playgroud)