Вопрос

В браузере Safari стандартный <asp:Menu> вообще плохо отображается.Как это можно исправить?

Это было полезно?

Решение

Спасибо за совет, он привел меня к следующему решению;

Я создал файл с именем "safari.browser" и поместил его в каталог App_Browsers.Содержимое этого файла показано ниже;

<browsers>
    <browser refID="safari1plus">
        <controlAdapters>
            <adapter controlType="System.Web.UI.WebControls.Menu" adapterType="" />
        </controlAdapters>
    </browser>
</browsers>

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

Другие советы

Вы можете использовать ControlAdapters для изменения рендеринга серверных элементов управления.

Вот пример:http://www.pluralsight.com/community/blogs/fritz/archive/2007/03/27/46598.aspx

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

Oooof - надеялся, что это будет простой случай добавления элемента browserCaps в web.config с соответствующими значениями или аналогичными...

Лучшее и самое простое решение, которое я нашел для этой проблемы, - включить этот фрагмент кода в ваше событие page_load.

if (Request.UserAgent.IndexOf("AppleWebKit") > 0)
    Request.Browser.Adapters.Clear();
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top