Safari browser and Menu control (asp:Menu)
  TnD0WQEygW8e 2023年11月09日 29 0


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


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.


  <browser refID="safari1plus">


      <capability name="xml" value="true" />



      <adapter controlType="System.Web.UI.WebControls.Menu" adapterType="" />




解决方法二:(不适用于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



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




  1. 分享:
最后一次编辑于 2023年11月09日 0