使用控制器和区域在布局中添加局部视图
本文关键字:添加局 视图 布局 控制器 区域 | 更新日期: 2023-09-27 18:24:58
我已经开始使用asp.netmvc,在路由方面遇到了一些问题。我想在布局文件中有一个局部视图。我也有领域。我的路线如下:
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。
有办法做到这一点吗?
调用:
Html.RenderAction("Index", "_Menu");
与调用此RenderAction:完全相同
Html.RenderAction("Index", "_Menu", new { area = "<currentArea>" });
因此,如果你想确保呼叫是针对非区域控制器的,你需要:
Html.RenderAction("Index", "_Menu", new { area = ""});