【问题标题】:Multi level drop down menu without css hover effects asp.net jquery没有css悬停效果的多级下拉菜单asp.net jquery
【发布时间】:2015-07-13 13:30:02
【问题描述】:
我希望使用 c# 在 asp.net 中为复合控件创建一个多级下拉菜单。有谁知道或知道如何创建它的任何指针?
我查看了 system.ui.webcontrols.menu,但我不认为它提供了我需要的功能。理想情况下,它应该尽可能简单。它不必使用 css 的悬停效果,因为它会使用 onclick 来触发下拉菜单。
任何指针将不胜感激。
我对 jQuery 选项持开放态度,只要它们非常简单且易于修改。
再次感谢。
【问题讨论】:
标签:
c#
jquery
asp.net
composite-controls
【解决方案1】:
如果您想要一个没有悬停效果的简单菜单,我建议使用菜单控件。 :P
但是,否则最简单的方法是使用 CSS 和 html。一个普通的列表什么的。
带/不带子菜单的示例 ASP 菜单。
<asp:Menu ID="Menu1" runat="server" >
<Items>
/*Single depth without subs*/
<asp:MenuItem value="aa" Selectable="true" NavigateUrl="~/Pages/aa.aspx" text="aa">
/*Single depth with subs*/
<asp:MenuItem NavigateUrl="~/Pages/xx.aspx" Text="xx" Value="xx" Selectable="true">
<asp:MenuItem NavigateUrl="~/Pages/yy.aspx" Text="yy" Value="yy" Selectable="true"></asp:MenuItem>
<asp:MenuItem NavigateUrl="~/Pages/zz.aspx" Text="zz" Value="zz" Selectable="true"></asp:MenuItem>
</asp:MenuItem>
</Items>
</asp:Menu>
【解决方案2】:
基本上,如果您要为此使用 jquery,您可以采用 2 种方法。您可以使用 jquery .css() 方法动态分配样式规则以更改显示设置(可能在 display:none 和 display:block 之间)
或
您可以组成一些 css 类,然后使用 .addClass() 和 .removeClass 方法即时添加和删除它们。它基本上比以这种方式逐个更改样式属性要简单一些,因为您可以一次完成所有操作