Как я могу получить <asp:menu> работу в Safari?
Вопрос
В браузере 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();