Uğu*_*maz 5 .net c# asp.net-mvc partial-views asp.net-mvc-4
我有一个布局和一个局部视图,它们在共享文件夹中.部分视图显示非静态的顶级菜单项.所以我需要调用一个action方法来从数据库中获取菜单项.为此,我创建了一个控制器并在其中添加了一个动作方法.
当我尝试在Web浏览器中浏览页面时,发生此错误:
未找到路径'/'的控制器或未实现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>
Run Code Online (Sandbox Code Playgroud)
_TopMenu.cshtml:
@model IList<string>
@foreach (string item in Model)
{
<span>item</span>
}
Run Code Online (Sandbox Code Playgroud)
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);
}
}
Run Code Online (Sandbox Code Playgroud)
如果你把它放在你的视野中会发生什么?
@{ Html.RenderAction("TopMenu", "Layout"); }
Run Code Online (Sandbox Code Playgroud)
(并注意这一切,直到一切正常:// [ChildActionOnly])
| 归档时间: |
|
| 查看次数: |
18394 次 |
| 最近记录: |