Safari browser and asp.net Menu control (asp:Menu)

问题:

asp:Menu 在Safari浏览器中显示不正常。

解决方法一:(App_Browsers

Step1: Add App_Browser Folder in application

          right click on project add ASP.Net Folder - App_Browsers

          right click on  App_Browsers -- Add new item  --- Browser File  ( with name Safari.browser )

         Add this section in Safari.browser file and save the file.

<browsers>
  <browser refID="safari1plus">
    <capabilities>
      <capability name="xml" value="true" />
    </capabilities>
    <controlAdapters>
      <adapter controlType="System.Web.UI.WebControls.Menu" adapterType="" />
    </controlAdapters>
  </browser>
</browsers>

 

解决方法二:(不适用于Master Page)

You could also put it in the preint event...

  Protected Sub Page_PreInit(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.PreInit
        If InStr(Request.ServerVariables("http_user_agent"), "Safari") Then
            Page.ClientTarget = "uplevel"
        End If
    End Sub

 

解决方法三:(使用基类PageBase)

 

Rather than repeat  the same code on every page, I have created a new class called PageBase

public class PageBase: Page
{
public PageBase()
{
}
protected void Page_PreInit(object sender, EventArgs e)
{
if (Request.ServerVariables["http_user_agent"].IndexOf("Safari", StringComparison.CurrentCultureIgnoreCase) != -1)
Page.ClientTarget = "uplevel";
}
}

and then changed all my ChildPages so that they inherit from PageBase, instead of System.Web.UI.Page

 

From: http://forums.asp.net/t/941229.aspx?PageIndex=3

相关文章

### 创建一个gRPC服务项目(grpc服务端)和一个 webapi项目(...
一、SiganlR 使用的协议类型 1.websocket即时通讯协议 2.Ser...
.Net 6 WebApi 项目 在Linux系统上 打包成Docker镜像,发布为...
一、 PD简介PowerDesigner 是一个集所有现代建模技术于一身的...
一、存储过程 存储过程就像数据库中运行的方法(函数) 优点:...
一、Ueditor的下载 1、百度编辑器下载地址:http://ueditor....