我正在尝试向Asp.net Mvc应用程序添加特定视图,我的意思是仪表板页面。因此,我尝试添加带有不同项目的侧栏菜单。我需要做的是显示一个视图,该视图取决于同一页面中选定的侧边栏项目。
答案 0 :(得分:1)
我建议将侧边栏放在Layout.cshtml
如果您想在侧栏中显示不同的项目,您可以检查当前控制器名称和当前控制器操作
@if(ViewContext.RouteData.Values["controller"] == "Home")
{
<li>item</li>
}
等。
另一种方法是创建自己的WebViewPage ,并在您的视图中提供自定义变量。它可以是控制器名称,动作名称或其他任何内容。
另一种不太推荐的方法是在ViewBag中保存首选侧边栏名称。这意味着您的Page.cshtml
将包含:
@{
ViewBag.PreferredSidebar = "default";
}
以后您可以在Layout.cshtml
中使用此值:
@if(ViewBag.PreferredSidebar == "default")
{
@Html.Partial("SidebarDefault")
}
你可以结合这些方式。
如果您想用户可以隐藏/显示侧边栏单击某个按钮,请记住此设置,您可以使用例如 JavaScript 和 HTML5本地存储< / strong>(将为当前用户及其浏览器存储设置。)