【发布时间】:2014-12-25 04:00:24
【问题描述】:
我在共享文件夹中有一个布局和一个局部视图。局部视图呈现非静态的顶部菜单项。所以我需要调用一个操作方法来从数据库中获取菜单项。为此,我创建了一个控制器并在其中添加了一个操作方法。
当我尝试在网络浏览器中浏览页面时,出现此错误:
找不到路径“/”的控制器或未实现 IController。
注意: 我也尝试过 Html.RenderAction、Html.Partial 方法...... 我尝试创建另一个视图文件夹,并创建一个新的局部视图和以“文件夹名称+控制器”后缀命名的新控制器。
布局:
<!DOCTYPE html>
<html>
<head>
<title>@ViewBag.Title</title>
</head>
<body>
<div id="header">
@Html.Action("~/Views/Shared/_TopMenu.cshtml", "LayoutController", new {area =""}); //Here is the problem.
</div>
<div>
@RenderBody();
</div>
</body>
</html>
_TopMenu.cshtml:
@model IList<string>
@foreach (string item in Model)
{
<span>item</span>
}
LayoutController(在 Controllers 文件夹中):
public class LayoutController : Controller
{
//
// GET: /Shared/
public ActionResult Index()
{
return View();
}
[ChildActionOnly]
[ActionName("_TopMenu")]
public ActionResult TopMenu()
{
IList<string> menuModel = GetFromDb();
return PartialView("_TopMenu", menuModel);
}
}
【问题讨论】:
标签: c# .net asp.net-mvc asp.net-mvc-4 partial-views