如何将数据库中的动态菜单项放入MasterLayout.cshtml中
How to put dynamic Menu items from databse in MasterLayout.cshtml?
我尝试在MasterLayout.cshtml 中实现动态菜单项
但在创建MasterLayout时,它并没有像普通视图中那样提供"选择模型"选项。。
那么,如何在MasterLayout中添加动态菜单,使其可以在所有普通视图中显示???
您应该创建一个强类型PartialView来在MasterLayout中生成菜单动态。例如:
1) 在HomeController上创建一个动作,作为ChildAction,以防止外部访问,这将仅用作菜单渲染:
[ChildActionOnly]
public ActionResult MainMenu()
{
var menu = /*Populate the menu*/;
return PartialView("_MainMenu", menu);
}
2) 在Views/Shared中为菜单创建一个名为_MainMenu.chtml的强类型视图。您应该传递一个枚举或其他东西来动态创建它。
3) 将上面的行放在MasterLayout上,以普通方式呈现菜单:
@{ Html.RenderAction("MainMenu", "Home"); }
这里有一个很好的例子,用于可编辑菜单。我建议您了解一下模型结构:ASP.NET MVC 4中的动态菜单。
相关文章:
- 在cshtml中对特殊字符进行编码
- jslint and cshtml files
- 为什么我的 cshtml 页面的 javascript 没有在浏览器中更新/刷新
- CSHTML 中 JavaScript 上的断点
- 我应该如何从javascript/jquery调用cshtml文件
- MVC视图文件_Layout.cshtml中头部和主体的Render Bundles之间的差异
- 根据列值将类添加到元素中;使用WebMatrix sql数据库、Cshtml(Razor)和JavaScript
- C# 在 中嵌入资源.Js 文件而不是 .cshtml
- 使用MVC捆绑时CSHTML文件中的Javascript智能感知
- Json.Encode 在 CS 文件中工作,但不在 CSHTML 中工作
- 如何在 cshtml 中调试 JavaScript
- 如何将视图(CSHTML)加载到iframe中
- 等待 Javascript 函数在 for each cshtml 中完成
- 从一个 CSHTML 页面的 JavaScript 验证值来检查其他 CSHTML 页面
- Layout.cshtml 中的 Intellisense for js 和 css 不起作用
- @Url.Action(“Login”, “HECAccount”) 在 cshtml(layout)中不起作用
- 有没有办法使用 .cshtml 文件作为 chrome 扩展名中的弹出窗口
- ASP.NETMVC 5在View.cshtml文件中编写javascript
- 在cshtml剃刀视图中分离JavaScript
- 如何将数据库中的动态菜单项放入MasterLayout.cshtml中