ASP.NET菜单控件和Safari 4.0.3

时间:2009-10-16 16:55:05

标签: c# asp.net safari menu

所以我在我的页面上使用了Menu控件,它有动态项目,当你将鼠标悬停在菜单项上时,它应该会下拉。这适用于除Safari 4.0.3之外的所有浏览器。

我环顾四周,这个问题似乎有几个解决方案:

  1. 将此代码添加到Page_Load事件:
  2.     if (Request.UserAgent.IndexOf("AppleWebKit") > 0)
        {
            Request.Browser.Adapters.Clear();
        }
    1. 将此代码添加到Page_PreInit事件:

      if (Request.UserAgent.IndexOf("AppleWebKit") > 0)
      {
          this.ClientTarget = "uplevel";
      }
    2. 添加此主题中的浏览器文件:Link to thread

    3. 我已经尝试了所有这些,但似乎都没有。

      我应该提一下,这确实用于使用选项#2在旧版本的Safari中工作。但是对于我来说,使用最新版本的Safari并不适用。

      有谁知道如何解决这个问题?

3 个答案:

答案 0 :(得分:0)

您是否尝试在实际的@Page指令中添加ClientTarget =“uplevel”?

答案 1 :(得分:0)

您是否尝试过使用菜单的CSSAdapters version?它产生更清晰,更语义的HTML,并且应该更容易设计风格。

答案 2 :(得分:0)

在你的.browser文件中试试这个:

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

(从我的头脑中,所以确切的语法可能是错误的)

关键是<browser refID="Safari">