On the safari browser, the standard <asp:Menu> doesn't render well at all. How can this be fixed?
4 Answers
Thanks for the advice, it led me into the following solution;
I created a file named "safari.browser" and placed it in the App_Browsers directory. The content of this file is shown below;
<browsers>
<browser refID="safari1plus">
<controlAdapters>
<adapter controlType="System.Web.UI.WebControls.Menu" adapterType="" />
</controlAdapters>
</browser>
</browsers>
As I understand it, this tells ASP.NET not to use the adaptor it would normally use to render the control content and instead use uplevel rendering.

- 1,464
- 1
- 14
- 22
You can use ControlAdapters to alter the rendering of server controls.
Here's an example: http://www.pluralsight.com/community/blogs/fritz/archive/2007/03/27/46598.aspx
Though, in my opinion it might be equal amount of work to abandon the menu control for a pure css one (available on many sites).

- 40,531
- 21
- 102
- 137
Oooof - was hoping it would be a simmple case of adding a browserCaps item in web.config with appropriate values or similar...

- 1,464
- 1
- 14
- 22
The best and simplest solution I've found for this problem is to include this bit of code in your page_load event.
if (Request.UserAgent.IndexOf("AppleWebKit") > 0)
Request.Browser.Adapters.Clear();

- 1,903
- 13
- 21