В Chrome меню вдруг портится и говорит Развернуть - PullRequest
0 голосов
/ 12 августа 2011

У меня есть меню asp.net с несколькими пунктами меню. 1 из пунктов имеет подменю.

Проблема в том, что после некоторого нажатия на мой сайт форматирование меню внезапно испортится (фоновое изображение будет отображаться только в узком прямоугольнике вокруг текста, а текст будет ниже, чем изображения-разделители) и текст пункта меню с подменю элементов имеет добавленную к нему фразу Expand MenuItem_Text («Настройка» -> «Настройка»), но на самом деле его нельзя развернуть.

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

У меня уже есть строка AppleWebKit в моем коде, так что это не так.

Edit:

<asp:Menu ID="Menu1" runat="server" Orientation="Horizontal" BackColor="transparent"
    StaticMenuItemStyle-ItemSpacing="0" StaticEnableDefaultPopOutImage="False" DynamicEnableDefaultPopOutImage="false">
    <Items>
        <asp:MenuItem NavigateUrl="~/Main.aspx" Text="Home" SeparatorImageUrl="~/Images/menubarmid.png" />
        <asp:MenuItem Text="Setup" SeparatorImageUrl="~/Images/menubarmid.png" Selectable="false">
            <asp:MenuItem NavigateUrl="~/ASetup.aspx" Text="A" />
            <asp:MenuItem NavigateUrl="~/BSetup.aspx" Text="B" />
        </asp:MenuItem>
        <asp:MenuItem NavigateUrl="~/Logout.aspx" Text="&nbsp;Logout&nbsp;"></asp:MenuItem>
    </Items>
    <StaticHoverStyle CssClass="static_hover_style" />
    <DynamicHoverStyle CssClass="dynamic_hover_Style" />
    <StaticMenuStyle CssClass="static_menu_style" />
    <DynamicMenuStyle CssClass="dynamic_menu_style" />
    <StaticMenuItemStyle CssClass="static_menuitem_style" />
    <DynamicMenuItemStyle VerticalPadding="3px" HorizontalPadding="10px" CssClass="dynamic_menuitem_style" />
</asp:Menu>

Ответы [ 3 ]

0 голосов
/ 17 января 2013

Я столкнулся с такой же проблемой и обнаружил, что установка свойства StaticPopOutImageTextFormatString в пустую строку приводила к исчезновению эквивалента «расширения установки».

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

Таким образом, мой код asp выглядел примерно так:

<asp:Menu ID="Menu1" runat="server" DataSourceID="SiteMapDataSource1" Orientation="Horizontal" StaticEnableDefaultPopOutImage="False" StaticPopOutImageTextFormatString="">
</asp:Menu>

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

0 голосов
/ 21 июля 2016

Это случилось с моим сайтом asp.net, когда он был развернут на сервере. В конце концов я обнаружил, что в IIS целевой платформой для сайта было 2,0. Я изменил его на 4.0, и эй до того меню карты сайта работало, как ожидалось.

0 голосов
/ 12 августа 2011

Здесь есть похожий вопрос на StackOverflow и возможный ответ для вас. Похоже, что есть своего рода «хак», который позволит элементу меню правильно отображаться в браузерах WebKit (например, Chrome)

Элемент управления asp.net неправильно отображается в safari

...