【发布时间】:2017-01-23 15:31:25
【问题描述】:
我想通过此代码在我的主 MVC 项目的布局页面中渲染我的区域(名为菜单)的 Index() 操作
并在这一行布局上出现错误
@{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" }
);
}
如您所见,我的控制器名称是 Menu
已编辑:我的问题的主要原因是这个...我所在区域的索引操作无法返回他的视图...我在索引操作中设置了一个断点,内部设置了一个断点索引视图的...并且程序正在到达并停止在第一个,但永远不会在第二个停止! ... 所以 主要问题是这个...我所在区域的索引操作不返回索引视图..
【问题讨论】:
-
您在菜单区域,并且您没有在 Html.RenderAction 中指定任何区域:new { area = "Menu" });
-
@LaurentLequenne 我想在我的主要项目布局页面中呈现动作......如果我指定区域名称。它带来了另一个逻辑错误......因为呈现的动作(在布局内)不应该有父页面......
标签: asp.net-mvc asp.net-mvc-5 asp.net-mvc-areas