Matt Williamson have suggest two solutions which both work fine

Solution 1.

   1: using System;
   2: using System.Collections.Generic;
   3: using System.Linq;
   4: using System.Web;
   5: namespace MyProject.WebSite
   6: {
   7:     public class PageBase : System.Web.UI.Page
   8:     {
   9:         protected void Page_PreInit(object sender, EventArgs e)
  10:         {
  11:             // This is necessary because Safari and Chrome browsers don't display the Menu control correctly.
  12:             // All webpages displaying an ASP.NET menu control must inherit this class.
  13:             if (Request.ServerVariables["http_user_agent"].IndexOf("Safari", StringComparison.CurrentCultureIgnoreCase) != -1)
  14:                 Page.ClientTarget = "uplevel";
  15:         }
  16:     }
  17: }

 

Then make sure all of your pages get inherit from this PageBase.

Solution 2.

   1: if (Request.UserAgent.Contains("AppleWebKit")) Request.Browser.Adapters.Clear();

I'm remember that some one have done a smart declarative browser adapting solution which we can control ASP.NET Render to render fine-tuned HTML code for selected Browser in Web.config, but now can't find it back. Please lets me know if you find it around.