C# 在ASP.Net MVC中将公共数据传递到_Layout.cshtml
在ASP.NETMVC应用程序中,我试图从数据库表生成顶部导航栏。我遵循数据库优先的方法。使用EntityFramework 我的设想如下: 我有三个表C# 在ASP.Net MVC中将公共数据传递到_Layout.cshtml,c#,asp.net,asp.net-mvc,entity-framework,C#,Asp.net,Asp.net Mvc,Entity Framework,在ASP.NETMVC应用程序中,我试图从数据库表生成顶部导航栏。我遵循数据库优先的方法。使用EntityFramework 我的设想如下: 我有三个表main菜单,子菜单和项菜单。itemsmenu表知道它的主菜单和子菜单。根据这些详细信息,顶部菜单栏应呈现在_Layout.cshtml页面上 如何实现这一点。。?我应该为菜单栏创建一个局部视图,还是有其他简单的方法来实现这一点?您可以尝试使用Foreach循环来显示主菜单、子菜单和子菜单 你可以像贝娄一样尝试 <div class="n
main菜单
,子菜单
和项菜单
。itemsmenu
表知道它的主菜单和子菜单。根据这些详细信息,顶部菜单栏应呈现在_Layout.cshtml页面上
如何实现这一点。。?我应该为菜单栏创建一个局部视图,还是有其他简单的方法来实现这一点?您可以尝试使用Foreach循环来显示主菜单、子菜单和子菜单 你可以像贝娄一样尝试
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
@foreach(var item in mainMenu)
{
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">@item.MainMenu1<b class="caret"></b></a>
<ul class="dropdown-menu">
@foreach(var subItem in item.SubMenu){
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">@subItem.SubMenu1<b class="caret"></b></a>
<ul class="dropdown-menu">
@foreach(var childItem in subItem.ChildMenu){
<li>@Html.ActionLink(@childItem, "Action", "Controller")</li>
}
</ul>
</li>
}
</ul>
</li>
}
</ul>
@foreach(主菜单中的变量项)
{
-
@foreach(item.子菜单中的var子项){
-
@foreach(子项.ChildMenu中的var childItem){
- @ActionLink(@childItem,“Action”,“Controller”)
}
}
}
您可以自行修复设计。
注意:从操作中获取数据作为使用多对象的数据列表此问题过于宽泛:“请编辑问题,将其限制为具有足够详细信息的特定问题,以确定适当答案。避免一次问多个不同的问题。请参阅“如何提问”页面以获取澄清此问题的帮助。”您可以使用部分视图或Html。此案例的操作非常感谢@tebbe93的回复。请告诉我如何将
项
从控制器传递到\u Layout.cshtml
我应该使用哪个控制器?如果我们需要呈现特定的页面,我们可以将模型数据或ViewBag或其他内容从特定的控制器方法传递到相应的视图。但是在\u Layout.cshtml
中如何做呢?我这样做的目的是,根据用户权限生成菜单。您可以对主控制器执行部分操作并生成视图。内部视图生成一个部分。完成菜单设计后,将部分渲染到布局页或主索引页。根据菜单,您希望如何使用