ASPxMenu - открывать подменю по щелчку вместо наведения (dx: ASPxMenu) - PullRequest
0 голосов
/ 21 сентября 2018

Я новичок в меню aspx.В моем приложении я использовал ASPxMenu.По умолчанию подменю отображаются при наведении на родительский элемент.Я хочу, чтобы подменю открывалось только по щелчку родительского элемента.Как я мог этого добиться?Пожалуйста, помогите

<dx:ASPxMenu ID="" runat="server" AutoSeparators="RootOnly" AutoPostBack="true"
      ClientInstanceName="AdminMenu" SkinID="SubMenu" ItemAutoWidth="false" OnItemClick="AdminMenu_ItemClick"
                                        ItemStyle-Width="151px" SubMenuItemStyle-Width="174px" SubMenuItemStyle-HorizontalAlign="Center">
  <Items> 

<dx:MenuItem Text="Main menu" Target="~/main.aspx" Name="MainFunctions">
                                                <Items>
                                                    <dx:MenuItem Text="submenu 1" Name="submenu1" Target="~/submenu1.aspx"
                                                        Enabled="True">
                                                    </dx:MenuItem>
                                                    <dx:MenuItem Text="submenu 2" Name="submenu2" Target="~submenu12.aspx"
                                                        Enabled="True">
                                                    </dx:MenuItem>
                                                    <dx:MenuItem Text="submenu 3" Name="submenu3" Target="~/submenu13.aspx"
                                                        Enabled="True">
                                                    </dx:MenuItem>

                                                </Items>
                                            </dx:MenuItem>
  </Items>
                                    </dx:ASPxMenu>

1 Ответ

0 голосов
/ 21 сентября 2018

Можно либо установить для свойства AppearAfter большое значение из разметки, либо в Page_Load коде (в миллисекундах):

<dx:ASPxMenu ID="Menu1" runat="server" AutoPostBack="true" AppearAfter="1000000" ...>
</dx:ASPxMenu>

И / илииспользуя клиентское ItemClick событие, которое вызывает функцию ShowSubMenu:

<dx:ASPxMenu ID="Menu1" runat="server" AutoPostBack="true" ...>
    <ClientSideEvents ItemClick="function(s, e) { s.ShowSubMenu(e.item.indexPath); }" />
</dx:ASPxMenu>

Кроме того, если вы хотите отключить зависание, измените следующие ASPxMenu.ItemStyle и ASPxMenu.ItemStyle.HoverStyle на свой собственный стиль.

Примечание: Если вы хотите обработать событие на стороне сервера, необходимо установить e.processOnServer = true;.

Ссылки:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...