ASP:Menu 在 IE10 和 IE11 中显示不正确,但在 Chrome、FF 和 IE9 之前看起来不错
ASP:Menu not shown correctly in IE10 and IE11, but looks aliright in Chrome, FF and till IE9
我正在使用 asp:Menu 控件来创建选项卡式导航。该项目是在 .Net 4.0 中创建的。
以下用于创建标签:
<div class="tabmenustyle displayblock">
<asp:Menu ID="_TabMenu" runat="server" Orientation="Horizontal">
</asp:Menu>
</div>
这将在除 IE10、IE11 之外的所有浏览器中正确创建选项卡式结构。
在提到的浏览器中,实际的选项卡看起来像这样:
Image for Expected (as seen in IE8,Chrome,FF)
但是在IE10和IE11中不显示选项卡。如果仔细观察,链接就在那里,但存在以下问题:
- 它们几乎看不见。它们放在文本后面而不是作为制表符。
- 基本上不创建选项卡。
我试过以下方法:
- 添加元 http-equiv="X-UA-Compatible" content="IE=7,8" 标签。
- 添加 .browser 文件以兼容 App_Browser 文件。
- 将解决方案中的所有项目从 4.0 迁移到 .Net framework 4.5.2。
- 正在将 z-index CSS 属性 应用于 asp:menu 控件。
- 还尝试在 Page_Load 中将 Page.ClientTarget 设置为 "uplevel"。无果。
我已经无计可施了。我该怎么做才能让它在 IE10 或 IE11 中正常显示。
编辑:其他细节 - 我观察到当浏览器为 IE10 或 IE11 时,发送到浏览器的 HTML 是 table。但对于所有其他人,
与- 一起发送作为导航菜单项。 IE10 或 IE11 发送不同的原因可能是什么 HTML.
最终在尝试了多种解决方案后,我再次尝试找出问题所在。在 App_Browser 中添加 .browser 文件应该更早些。原因是当我添加自己的 IE11 或 IE10 特定定义浏览器文件时,它覆盖了基本的 .Net 定义。
关键是在项目级别使用 refId 引用 IE11 或 IE10 app.browser 并保持 refID 的值等于位于 c:\Windows\Microsoft 的浏览器文件中使用的 Id .NET\Framework\v4.0.30319\Config\Browsers.这在现有规则之上增加了规则。否则,它只是覆盖现有的定义。
我正在使用 asp:Menu 控件来创建选项卡式导航。该项目是在 .Net 4.0 中创建的。
以下用于创建标签:
<div class="tabmenustyle displayblock">
<asp:Menu ID="_TabMenu" runat="server" Orientation="Horizontal">
</asp:Menu>
</div>
这将在除 IE10、IE11 之外的所有浏览器中正确创建选项卡式结构。
在提到的浏览器中,实际的选项卡看起来像这样:
Image for Expected (as seen in IE8,Chrome,FF)
但是在IE10和IE11中不显示选项卡。如果仔细观察,链接就在那里,但存在以下问题:
- 它们几乎看不见。它们放在文本后面而不是作为制表符。
- 基本上不创建选项卡。
我试过以下方法:
- 添加元 http-equiv="X-UA-Compatible" content="IE=7,8" 标签。
- 添加 .browser 文件以兼容 App_Browser 文件。
- 将解决方案中的所有项目从 4.0 迁移到 .Net framework 4.5.2。
- 正在将 z-index CSS 属性 应用于 asp:menu 控件。
- 还尝试在 Page_Load 中将 Page.ClientTarget 设置为 "uplevel"。无果。
我已经无计可施了。我该怎么做才能让它在 IE10 或 IE11 中正常显示。
编辑:其他细节 - 我观察到当浏览器为 IE10 或 IE11 时,发送到浏览器的 HTML 是 table。但对于所有其他人,
- 与
- 一起发送作为导航菜单项。 IE10 或 IE11 发送不同的原因可能是什么 HTML.
最终在尝试了多种解决方案后,我再次尝试找出问题所在。在 App_Browser 中添加 .browser 文件应该更早些。原因是当我添加自己的 IE11 或 IE10 特定定义浏览器文件时,它覆盖了基本的 .Net 定义。
关键是在项目级别使用 refId 引用 IE11 或 IE10 app.browser 并保持 refID 的值等于位于 c:\Windows\Microsoft 的浏览器文件中使用的 Id .NET\Framework\v4.0.30319\Config\Browsers.这在现有规则之上增加了规则。否则,它只是覆盖现有的定义。