ASP: MENU Мне нужно показывать пункты подменю только при нажатии - PullRequest
0 голосов
/ 19 сентября 2011

У меня есть asp: menu, и у меня есть, например, 3 menuItem: First Second Third и второй элемент, у которого есть 2 подменю. Я хочу показать 2 подменю только тогда, когда я щелкаю по пункту Second menu, а не при наведении курсора мыши. Я поставлю код меню здесь

<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>

1 Ответ

0 голосов
/ 19 сентября 2011

мой ответ носит чисто теоретический характер, поэтому, возможно, вы захотите подождать, если кто-то согласится выполнить работу за вас.

Стили наведения можно контролировать с помощью CSS. Может быть возможно написать CSS, чтобы гарантировать, что элементы подменю скрыты, даже когда пользователь наводит курсор на пункты главного меню, а затем динамически изменять класс CSS с помощью JavaScript, когда пользователь щелкает элемент меню.

Учитывая, что нажатие на элемент меню может вызвать обратную передачу, вам может потребоваться показать / скрыть подменю в коде сервера ...

Кроме того, вам необходимо учесть, что вам может потребоваться скрыть подменю вручную, снова используя событие onClick.

Наконец, вы можете рассмотреть возможность не использовать меню ASP для этого, потому что оно предназначено для использования в качестве меню при наведении. Возможно, вам лучше написать собственную реализацию, в зависимости от того, действительно ли вам нужна функциональность ASP Menu. Есть много примеров хороших онлайн-меню, поэтому вы можете найти то, что делает то, что вы ищете, с большей легкостью. Элемент управления ASP.NET TreeView может предоставить вам гораздо более близкую отправную точку.

Быстрый Google открывает следующий блог, который может быть тем, что вы ищете:

http://msd -bml.blogspot.com / 2008/09 / САШИ меню клика вместо-о-hover.html

...