Вот самый простой способ решить эту проблему как для Chrome, так и для Safari, если у вас есть несколько веб-приложений:
Создайте файл с именем safari.browser в «% SystemRoot% \ Microsoft.NET \ Framework [версия] \ CONFIG \ Browsers», который содержит следующее:
<browsers>
<browser refID="Safari1Plus">
<controlAdapters>
<adapter controlType="System.Web.UI.WebControls.Menu"
adapterType="" />
</controlAdapters>
</browser>
</browsers>
Это скажет asp.net не использовать адаптер при рендеринге элемента управления меню для сафари.
Safari1Plus определяется в конце файла mozilla.browser в том же каталоге. Это работает и для chrome, потому что они оба используют webkit, как asp.net идентифицирует Safari1Plus.
Следующий запуск% SystemRoot% \ Microsoft.NET \ Framework [версия] \ aspnet_regbrowsers -i
это скомпилирует все файлы браузера в сборку и добавит их в GAC.
теперь меню asp.net будет корректно отображаться в Safari и Chrome.
В качестве альтернативы вы можете добавить файл в каталог App_Browsers в каждом из ваших веб-приложений.