asp.net 菜单控件在 Safari 中无法正确呈现

2023-11-22

我正在开发的网站正在使用 Databound asp:Menu 控件。当发送 1 个菜单项时,它会呈现在 Firefox(和 IE)中绝对正确的 HTML,但在 Safari 和 Chrome 中确实搞乱了代码。以下是发送到每个浏览器的代码。我已经测试了几个浏览器,它们的渲染效果都非常相似,所以我只发布渲染源的两个变体。

我的问题是:如何让 ASP.NET 向 Chrome 和 Safari 发送与 Firefox 和 IE 相同的 html 和 javascript?

<!-- This is how the menu control is defined -->
<asp:Menu ID="menu" runat="server" BackColor="#cccccc"
    DynamicHorizontalOffset="2" Font-Names="Verdana" StaticSubMenuIndent="10px" StaticDisplayLevels="1"
    CssClass="left_menuTxt1" Font-Bold="true" ForeColor="#0066CC">
    <DataBindings>
        <asp:MenuItemBinding DataMember="MenuItem" NavigateUrlField="NavigateUrl" TextField="Text"
            ToolTipField="ToolTip" />
    </DataBindings>
    <StaticSelectedStyle BackColor="#0066CC" HorizontalPadding="5px" VerticalPadding="2px"
        Font-Names="Verdama" CssClass="left_menuTxt1" Font-Bold="true" />
    <StaticMenuItemStyle HorizontalPadding="5px" VerticalPadding="8px" />
    <DynamicMenuStyle BackColor="#fbfbfb" BorderColor="#989595" BorderStyle="Inset" BorderWidth="1"
        Width="80px" VerticalPadding="1" />
    <DynamicMenuItemStyle HorizontalPadding="5px" VerticalPadding="2px" Font-Name="Verdama"
        ForeColor="#c6c4c4" CssClass="left_menuTxt1" Font-Bold="true" />
    <DynamicSelectedStyle BackColor="#cccccc" HorizontalPadding="5px" VerticalPadding="2px"
        Font-Names="Verdama" CssClass="left_menuTxt1" Font-Bold="true" />
</asp:Menu>
<!-- From Safari View Page Source (Chrome source very similar) -->
<span title="Order" class="ctl00_leftNav_menu_4">
<a class="ctl00_leftNav_menu_1 ctl00_leftNav_menu_3" 
  href="javascript:__doPostBack('ctl00$leftNav$menu','oMy Order')">
My Order
<img src="/WWW/WebResource.axd?d=glUTEfEv7p9OrdeaMxkMzhqz2JugrMr8aE43O2XGHAA1&amp;t=633590571537099818" 
alt="Expand My Order" 
align="absmiddle" 
style="border-width:0px;" /></a></span><br />


<!-- From Firefox View Page Source (IE View page similar) -->
<table>
<tr onmouseover="Menu_HoverStatic(this)" 
    onmouseout="Menu_Unhover(this)" 
    onkeyup="Menu_Key(event)" 
    title="Order" 
    id="ctl00_leftNav_menun0">
  <td>
    <table class="ctl00_leftNav_menu_4" cellpadding="0" cellspacing="0" border="0" width="100%">
     <tr>
       <td style="white-space:nowrap;width:100%;">
          <a class="ctl00_leftNav_menu_1 ctl00_leftNav_menu_3" 
             href="../Order/OrderList.aspx">
My Order
          </a>
       </td>
       <td style="width:0;">
           <img src="/WWW/WebResource.axd?d=glUTEfEv7p9OrdeaMxkMzhqz2JugrMr8aE43O2XGHAA1&amp;t=633590571537099818" 
                alt="Expand My Order" style="border-style:none;vertical-align:middle;" />
       </td>
     </tr>
  </table>
 </td>
</tr>
</table>

更新:我的解决方案帖子是正确的..但我无法将自己的解决方案标记为正确...所以如果有人想复制它,那么我可以关闭它。 :)


我从评论中找到了这个解决方案博客网。 这可能是一个黑客行为,但它确实有效。

这种跨浏览器兼容性的斗争正在变得令人不安。

 if (Request.UserAgent.IndexOf("AppleWebKit") > 0)
    {

        Request.Browser.Adapters.Clear();

    }

如果有人有更好的解决方案,而不是黑客,如果您发布它,我将不胜感激。从我广泛的网络搜索来看,似乎我并不是唯一一个遇到菜单控件问题的人,因此一些好的参考资料可以帮助其他处于相同情况的人。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

asp.net 菜单控件在 Safari 中无法正确呈现 的相关文章

  • 如何将 ENUM 值从视图转换为字符串到控制器

    所以我已经知道如何获取字符串 整数 十进制 现在我在枚举的这一部分中苦苦挣扎 如何将枚举转换为字符串 Enum statecode apsp Customer BillingAddress StateCode Value Customer
  • 用户“IIS APPPOOL\ASP.NET v4.0”登录失败

    我有一个 Web 项目 C Asp Net EF 4 MS SQL 2008 和 IIS 7 我需要将其迁移到本地 IIS 7 目前与 CASSINI 配合良好 Locally in IIS I have my Default Web Si
  • 在 ASP.net C# 中复制 PHPBB 密码哈希

    我现在使用的是 phpbb 3 0 8 它拥有 3 000 名用户和大约 60 000 个帖子 我正在将论坛更改为另一个用经典 ASP 编写的论坛 我知道人们会反对这一点 但我有充分的理由 我的网站是用 ASP net 编写的 经典的 AS
  • 由于缺少定义,在 .net Core 应用程序上构建失败

    我正在尝试使用 CLI 构建我的 NET Core 应用程序dotnet build 但每次我都会收到此错误 IConfigurationBuilder 不包含 AddEnvironmentVariables 的定义 并且找不到接受 ICo
  • 如何通过单击浏览器的后退按钮获得相同的页面

    我在我的 aspx 页面中使用 asp net 和 c 我在这个面板中有一个更新面板 我有一些到其他站点的链接 这些链接在同一窗口中打开 单击这些链接后 当我通过浏览器的后退按钮返回时 我在更新面板上没有得到相同的结果 我已经与以下文章实现
  • viewStateEncryptionMode="Always" 不加密

    由于一些安全问题 我需要启用视图状态加密 我已关闭 viewstate 和 viewstateMAC 但我需要加密 控制状态 http msdn microsoft com en us site ms178199 VIEWSTATE 表单参
  • 在 Dropbox 上托管图像

    我正在寻找一个服务器来托管我正在开发的网络服务中的图像 这个网络服务需要多次访问图像 我每天会上传大约 4GB 的图像来展示给用户 我的想法是在那里托管图像并获取公共链接以放置在 HTML 上 所以我想知道 Dropbox 是否是一个足够的
  • 同一字段上的多个验证器万无一失

    我目前使用万无一失的验证 RequiredIfNot type 3 ErrorMessage Please enter at least one value public int audites get set 但客户希望添加验证 Requ
  • 在另一个控件之前插入一个控件

    如何在 ASP NET 中动态地将一个控件插入到另一个控件之前 假设 control1 是网页上的某个控件 我想在 control1 之前动态创建并插入一个表 e g table1 new Table table1 ID Table1 但接
  • 如何将占位符属性与 Html.EditorFor 一起使用?

    我想在 Html EditorFor 中使用占位符属性 所以我就像第一个答案中那样 Html5 占位符与 NET MVC 3 Razor 编辑器用于扩展 https stackoverflow com questions 5824124 h
  • 按正确的列(即 TemplateField)对 gridView 进行排序

    我在 gridView 中排序列时遇到问题 我只想选择列中名称等于 完成 的那些行 我的 gridView 由一些 BoundField 和 TamplateFields 组成 当我想按正确的 BoundField 排序时 我将正确的字符串
  • 即使显示设置为动态,自定义验证器控件也会占用空间

    为什么自定义验证器控件即使设置为显示等于动态也会占用高度 tr td style min height 1px td tr
  • ASP.NET MVC 使用类型化模型将模型与单选按钮列表进行两种方式数据绑定

    我有一个由单选按钮矩阵组成的 mvc 视图 每行单选按钮都在一个组中 代表模型中的一个键入对象 使用各种博客和帖子的指导 我已成功将发布的表单结果绑定到控制器操作中的类型化模型数组 但是似乎无法成功反转效果并将现有模型绑定到单选按钮 同时保
  • 在 ASP.Net 2008 或更高版本中创建复合和自定义网格控件[关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 请建议我如何创建复合网格 即 我需要 Framework 3 5 及更高版本中 gridview 的所有功能 但还需要在
  • UpdatePanel 中的控件丢失 JQuery 事件

    我有一个位于 updatepanel 控件内的按钮 按钮的单击事件有一个通过 JQuery 为其定义的函数 异步回发完成后 随后单击按钮时 JQuery 事件将无法触发 我需要做什么来纠正此行为并在异步刷新按钮的单击事件后维护 JQuery
  • 如何使用 ASP.NET 5 (MVC 6) 中的 Response 属性对控制器操作进行单元测试? [复制]

    这个问题在这里已经有答案了 In an ASP NET 核心 1 0 MVC 6 项目我有一个控制器操作方法 我在其中使用Response设置标题的属性 HttpGet public IActionResult Get Response H
  • VS2010调试问题

    好吧 奇怪的事情又发生在我身上了 今天早上 当我启动 ASP NET 应用程序时 对其进行了一些工作 现在当我尝试发布它时 我收到一个错误 我似乎找不到任何相关文档 Error 1 Unable to apply a change whil
  • 在 SelectList 集合中设置所选项目

    我有一堂具有以下属性的课程 它构建了一个SelectList现有列表中的对象 然后设置所选项目 public SelectList ProviderTypeList get SelectList list new SelectList my
  • 预编译 ASP.NET 网站上的“JIT 时间百分比”高且波动

    拥有 150 个 dll 的 ASP NET 网站预编译的 可更新 导致 的可能原因是什么JIT 时间百分比 这通常相当高 gt 60 并且波动的应用程序预热后很长一段时间 访问所有功能 并且没有 应用程序重新启动或文件更改可能会生成新的程
  • C#:如何计算纵横比

    我对编程比较陌生 我需要根据给定尺寸 例如 axb 计算纵横比 16 9 或 4 3 我如何使用 C 来实现这一点 任何帮助将不胜感激 public string AspectRatio int x int y code am lookin

随机推荐

  • 如何使用 Jacoco 和多个模块在 Jenkins 中实现代码覆盖率?

    我的代码结构如下 events消息其他代码功能测试 在 jacoco 的构建脚本中 首先它必须复制所有类并使用该类目录来运行该工具 您能否在此处描述目标目录的步骤 我的意思是如何提及运行代码覆盖率的目录 构建后 每个文件夹都有自己的目标文件
  • 从 NSArray 获取 NSIndexSet

    NSArray 有一些有用的方法来查找指定索引的对象 To find objects by indexes id objectAtIndex NSUInteger index NSArray objectsAtIndexes NSIndex
  • UITextInputMode.activeInputModes() 在 Swift 2 中崩溃

    我想在 Swift 2 中获得 UITextInputMode 但是UITextInputMode activeInputModes 崩溃 let x UITextInputMode activeInputModes crash here
  • OpenERP fields.function() 解释[重复]

    这个问题在这里已经有答案了 我从 stock py 文件和行号 163 中获取了此代码 complete name fields function complete name type char size 256 string Locati
  • 如果每个列表视图有多个文本视图,如何设置适配器?

    我有多个TextViewmy 中的每个列表项ListView 我学会了写一个正确的getView我相信的方法 但我不知道如何使用setAdapter调用该方法 private static String project proj1 proj
  • 单击时删除 html 图像上的蓝色突出显示

    我正在 Android 中制作一个自定义应用程序 我正在显示一个 html 页面 div 内有一个 img 标签 div class press img src but png width 150 height 62 border 0 di
  • 数组删除重复元素

    我有一个未排序的数组 删除元素 如果存在 的所有重复项的最佳方法是什么 e g a 1 5 2 6 8 9 1 1 10 3 2 4 1 3 11 3 所以在该操作之后数组应该看起来像 a 1 5 2 6 8 9 10 3 4 11 检查每
  • 从 PackageID 获取显示名称

    查看 Wix Standard Bootstrapper 应用程序的源代码 似乎每个包都有一个显示名称财产 pPackage gt sczDisplayName 但是 WiX 安装项目中使用的 BootstrapperCore dll 没有
  • 如何将深度特征合成应用于单个表

    处理后 我的数据是一张表 其中几列是特征 一列是标签 我想用featuretools dfs帮助我预测标签 是否可以直接执行 或者我需要将单个表拆分为多个 可以在单个表上运行 DFS 举个例子 如果你有一个 pandas 数据框df带索引
  • Elmah 无法在 IIS7 服务器上工作

    我在我的 MVC 3 站点上运行 Elmah 并且一切都在我的本地开发计算机上运行 但是 现在我已将站点移至生产服务器 Elmah 无法正常工作 我在实时服务器上使用与在本地计算机上使用的相同的 SQL 帐户 和连接字符串 EF4 连接 与
  • 如何在 SWIFT 中使用附加参数 - 颜色创建自定义 MKPolyline

    任何人都可以帮我定制吗MKPolyline带有附加参数 Color 自定义多段线 swift import Foundation import MapKit class CustomPolyline MKPolyline let coord
  • 通过 http 跟踪日志文件

    出于安全原因 我是开发人员 我无法通过命令行访问写入日志文件的生产服务器 我can 但是通过 HTTP 访问这些日志文件 是否有一个 tail f 方式的实用程序可以仅使用 HTTP 跟踪 纯文本文件 如果 HTTP 服务器接受返回部分资源
  • k8s/python:如何使用 Kubernetes Python 客户端读取机密?

    我想做这个问题的反面 如何使用 Kubernetes Python 客户端创建机密 i e 如何通过 kubernetes python API 从 kubernetes 集群读取现有密钥 用例是 我想从 jupyter 笔记本 也在我的集
  • UWP 中的模板化控件与自定义控件。网上没有找到明确答案

    在我的 UWP 应用程序中 我的控制选项是用户控制和模板化控制 到目前为止 我对用户控件的理解已经很清楚了 有人告诉我 自定义控件的样式 模板仅在内存中实例化一次 并且这只在首次使用控件时发生 这就是我想要的 因为我知道我正在创建的控件将在
  • Java 中数组是按值传递还是按引用传递? [复制]

    这个问题在这里已经有答案了 数组不是一个原始类型在Java中 但是他们也不是对象 那么它们是按值传递还是按引用传递 它是否取决于数组包含的内容 例如引用或原始类型 Java 中的一切都是按值传递的 对于数组 只不过是一个对象 数组引用按值传
  • #2002 - 服务器没有响应(或者本地 MySQL 服务器的套接字配置不正确)

    我无法访问 PHPMyAdmin 当我想去那里时 我收到此错误 2002 服务器没有响应 或者本地 MySQL 服务器的套接字配置不正确 我用谷歌搜索了这个错误 但不清楚 我尝试知道此代码打开了哪个端口 pgrep mysql mysql运
  • Eclipse / Android:“在项目上运行构建器‘Android 预编译器’时出错...”

    尝试在 Android 项目上做一些工作 我已经几个月没有工作了 但每次我尝试构建该项目时 Eclipse 都会弹出一个对话框 Building workspace has encountered a problem Errors occu
  • 通过 API 列出所有 JIRA 转换

    我希望在 JIRA 中设置智能提交 但我的开发人员想了解其转换的所有选项 为了帮助他们 我想打印一份所有转换名称的备忘单 我相信他们足够聪明 能够弄清楚从那里做什么 但是当我翻阅REST API文档时 我只能找到一种方法来获取特定问题的转换
  • 有没有办法让 UserControl 无法聚焦?

    有没有办法让 UserControl 无法聚焦 编辑 所以SetStyle ControlStyles Selectable false 是要走的路 但还是有区别Control 如果你继承表单Control初始控制不会失去焦点 但是点击派生
  • asp.net 菜单控件在 Safari 中无法正确呈现

    我正在开发的网站正在使用 Databound asp Menu 控件 当发送 1 个菜单项时 它会呈现在 Firefox 和 IE 中绝对正确的 HTML 但在 Safari 和 Chrome 中确实搞乱了代码 以下是发送到每个浏览器的代码