0

我有一个 asp:menu,例如 3 menuItem: First Second Third 和第二个项目有 2 个 submenuItems 我只想在单击第二个 menuitem 时才显示 2 个 submenuitems,而不是当我将鼠标悬停在上面时。我会把菜单的代码放在这里

<asp:Menu ID="Menu_WebSite" runat="server"
DynamicHorizontalOffset="10" TabIndex="1" 
Font-Names="Verdana" Font-Size="12px" 
StaticSubMenuIndent="10px" Orientation="Horizontal"
StaticEnableDefaultPopOutImage="false" BackColor="#f0f0f0">                                                
    <StaticSelectedStyle ForeColor="Black" />                                                                                                
    <DynamicHoverStyle  BackColor="#f0f0f0"  ForeColor="Black" />
    <DynamicMenuItemStyle BackColor="#f0f0f0" HorizontalPadding="25px" VerticalPadding="3px" />
    <DynamicMenuStyle BackColor="#f0f0f0"  ForeColor="Black" />                                                
    <DynamicSelectedStyle  BackColor="#f0f0f0" Forecolor="Black" />                                                                                                                                                                                                 
    <StaticHoverStyle   BackColor="#f0f0f0" ForeColor="Black" />
    <StaticMenuItemStyle BackColor="#f0f0f0"  HorizontalPadding="10px" VerticalPadding="3px" />                                                                                                
    <StaticItemTemplate>                                                      
        <%#Eval("text")%>
    </StaticItemTemplate>
</asp:Menu>
4

1 回答 1

0

我的回答纯属理论性的,所以你可能希望有人愿意为你做腿部工作。

悬停样式可以用 CSS 控制。可以编写 CSS 以确保即使用户将鼠标悬停在主菜单项上也隐藏子菜单项,然后在用户单击菜单项时使用 JavaScript 动态更改 CSS 类。

请记住,单击菜单项可能会导致回发,您可能需要在服务器代码中显示/隐藏子菜单...

此外,您需要考虑可能需要再次使用 onClick 事件手动隐藏子菜单。

最后,您可能希望考虑不为此使用 ASP 菜单,因为它旨在用作悬停菜单。您最好编写自己的实现,这取决于您是否真的需要 ASP 菜单功能。网上有很多很好的菜单示例,因此您可能会更轻松地找到一种可以满足您的需求的菜单。ASP.NET TreeView 控件可以为您提供更接近的起点。

一个快速的谷歌抛出以下博客,这可能是你正在寻找的:

http://msd-bml.blogspot.com/2008/09/aspnet-menu-click-instead-of-hover.html

于 2011-09-19T09:19:41.343 回答