我是一名MVC新手。
我想做的是从数据库加载菜单并在局部视图中显示它。这个局部视图将从_Layout视图调用。
主页控制器
在主页控制器中,我添加了一个名为"_MainMenu"的动作。
public class HomeController : Controller
{
mrpDatabase _db = new mrpDatabase();
public ActionResult _MainMenu()
{
return PartialView("_MainMenu", _db.menu.ToList());
}
....
}
部分视图
这是我的_MainMenu部分视图。
@model IEnumerable<appMRP.Models.menu>
<ul id="menu">
@foreach (var item in Model)
{
<li>@item.menu1</li>
}
</ul>
布局页面
这个局部菜单显示在我的_Layout.cshtml中,像这样:
<nav>
@Html.Partial("_MainMenu")
</nav>
当我运行时,出现错误"NullReferenceException was unhandled by user code.Object reference not set to an instance of an object"。
看起来我的_MainMenu中的“Model”为空。
我做错了什么?
谢谢。