我怎样才能得到<;asp:菜单>;在Safari工作?

我怎样才能得到<;asp:菜单>;在Safari工作?,safari,aspmenu,Safari,Aspmenu,在safari浏览器上,标准根本无法很好地渲染。如何修复此问题?您可以使用ControlAdapters来更改服务器控件的呈现 下面是一个例子: 不过,在我看来,放弃菜单控件而使用纯css控件(在许多网站上都可以使用)可能需要做同样多的工作。您可以使用ControlAdapters来更改服务器控件的呈现方式 下面是一个例子: 不过,在我看来,放弃菜单控件而使用纯css控件(在许多网站上都可以使用)可能需要做同样多的工作.oof-希望在web.config中添加具有适当值或类似值的browse

在safari浏览器上,标准根本无法很好地渲染。如何修复此问题?

您可以使用ControlAdapters来更改服务器控件的呈现

下面是一个例子:


不过,在我看来,放弃菜单控件而使用纯css控件(在许多网站上都可以使用)可能需要做同样多的工作。

您可以使用ControlAdapters来更改服务器控件的呈现方式

下面是一个例子:


不过,在我看来,放弃菜单控件而使用纯css控件(在许多网站上都可以使用)可能需要做同样多的工作.

oof-希望在web.config中添加具有适当值或类似值的browserCaps项目是一个简单的例子…

oof-希望在web.config中添加具有适当值或类似值的browserCaps项目是一个简单的例子…

感谢您的建议,它引导我采用了以下解决方案

我创建了一个名为“safari.browser”的文件,并将其放在App_Browsers目录中。该文件的内容如下所示

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


据我所知,这告诉ASP.NET不要使用它通常用于呈现控件内容的适配器,而是使用上一级呈现。

感谢您的建议,它引导我采用以下解决方案:

我创建了一个名为“safari.browser”的文件,并将其放在App_Browsers目录中。该文件的内容如下所示

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


据我所知,这告诉ASP.NET不要使用它通常用于呈现控件内容的适配器,而是使用上一级呈现。

我找到的解决此问题的最佳和最简单的方法是在页面加载事件中包含这段代码

if (Request.UserAgent.IndexOf("AppleWebKit") > 0)
    Request.Browser.Adapters.Clear();

对于这个问题,我找到的最好、最简单的解决方案是在页面加载事件中包含这段代码

if (Request.UserAgent.IndexOf("AppleWebKit") > 0)
    Request.Browser.Adapters.Clear();