我想使用 MVC 和 renderpartial 来生成一个菜单,但无法让它工作,从我读到的内容看来 RenderAction 可能更合适。我仍然没有让它工作。
我打算做的是创建一个控制器,从数据库中选择某些文章作为类别(这被放入 HomeController):
public ActionResult MenuController()
{
var movies = from m in db.Art
where m.ArtikelNr.StartsWith("Webcat")
select m;
return View(movies);
}
然后将该信息发送到视图:
@model IEnumerable<xxxx.Models.Art>
@{
Layout = null;
}
<ul>
@foreach (var item in Model)
{
<li>@Html.DisplayFor(modelItem => item.Benämning_10)</li>
}
当我将它作为普通控制器运行并查看时,它会起作用,它会返回我想要的列表。但是如果我想从 _layout.cshtml 中调用它(因为这个菜单应该出现在每个页面上),如下所示:
<div id="sidebar">@Html.RenderAction(MenuController)</div>
然后它会生成以下错误:
CS0103: The name 'MenuController' does not exist in the current context
从 _layout.cshtml 文件中调用操作/视图/任何内容的正确方法是什么?