我有一个共享,我
在_Layout.cshtml
其中调用以下内容我有一个网站顶部菜单的标记。@Html.Partial("TopMenu");
TopMenu.cshtml
<ul class="menu">
<li class="menu-item"><a href="#">menu item 1</a></li>
<li class="menu-item"><a href="#">menu item 2</a></li>
<li class="menu-item"><a href="#">menu item 3</a></li>
<li class="menu-item"><a href="#">menu item 4</a></li>
</ul>
我想从数据库绑定该菜单。 我是 MVC 的新手。我应该为该视图创建控制器吗?
这个菜单应该出现在我的所有页面中。给我一个想法,它是如何在 mvc 中实现的。我来自asp.net 网络表单国家。
功能
public IEnumerable<Category> GetCategories(Guid? id)
{
return context.Categories.Where(c => c.CategoryID == id || !id.HasValue).ToList();
}
更新
public class HomeController : Controller
{
public ActionResult Index()
{
return View();
}
public PartialViewResult TopMenu()
{
using (var ctx = new eventzEntities())
{
CategoryManager catMan = new CategoryManager(ctx);
var listOfCat = catMan.GetCategories(null);
return PartialView(listOfCat);
}
}
}
和
@Html.Action("TopMenu","Home")
<div class="secondary-navigation">
<nav id="navigation">
<ul id="menu-main-navigation" class="menu sf-js-enabled">
@foreach (var cat in Model)
{
<li class="menu-item menu-item-type-taxonomy menu-item-object-category ">
<a href="#">@cat.CategoryName</a>
</li>
}
...