我正在将INSPINIA主题用于网络平台。
在我的导航栏中有一个可折叠的菜单项。它的每个子项都重定向到不同的控制器。
如果我点击" Text1"我想保持可折叠条目的扩展。但是如果我点击,菜单就会崩溃,因为它会重定向到另一个控制器:
如果再次扩展菜单,我会看到正确的结果("数据"和" Text1"已被选中) - 但它最初崩溃了!
有什么想法吗?
<li>
<a href="#"><i class="fa fa-user"></i><span class="nav-label">Data</span><span class="fa arrow"></span></a>
<ul class="nav nav-second-level collapse">
<li class="@Html.IsSelected(action: "DoAction", controller: "Controller1")" style="border-left:none !important"><a href="@Url.Action("DoAction", "Controller2")">Text1</a></li>
<li class="@Html.IsSelected(action: "DoAction", controller: "Controller2")" style="border-left:none !important"><a href="@Url.Action("DoAction", "Contorller2")">Text2</a></li>
</ul>
</li>
编辑:我设置了一个示例项目。这会向您显示问题:http://inspinia-test.azurewebsites.net/
答案 0 :(得分:0)
我用这种方式解决了它:
每次调用“详细信息”或“编辑”操作时,下拉菜单现在都会延长。因此,如果我查看详细信息站点并单击“编辑”按钮,则仍会选择菜单项。通过将“action:”DoAction“”替换为“controller:”Controller1“”,它也可以在下拉列表中的多重控制器之间进行区分。
这是有效的,因为我只在此菜单下拉菜单中使用详细信息和编辑操作。如果我将在其他菜单中使用它们,我将不得不实施额外的测试。
<li class="@Html.IsSelected(action:"Details") @Html.IsSelected(action:"Edit")">
<a href="#"><i class="fa fa-user"></i><span class="nav-label">Data</span><span class="fa arrow"></span></a>
<ul class="nav nav-second-level collapse">
<li class="@Html.IsSelected(controller: "Controller1")" style="border-left:none !important"><a href="@Url.Action("Details", "Controller1")">Text1</a></li>
<li class="@Html.IsSelected(controller: "Controller2")" style="border-left:none !important"><a href="@Url.Action("Details", "Contorller2")">Text2</a></li>
</ul>
</li>