在IE8下显示Asp.net Menu控件异常,不会弹出动态的菜单的解决办法:
方法一:
安装修复补丁,参见:
http://support.microsoft.com/default.aspx/kb/962351
补丁下载
http://code.msdn.microsoft.com/KB962351
方法二:
由于不同的浏览器对CSS和JavaScript的支持不同所致,不仅IE8,Google Chrome下也不能正常显示动态Menu。
可以尝试使用CSS Friendly Control Adapter来优化Menu控件生成的代码。
可参考这篇文章:http://www.cnblogs.com/blodfox777/archive/2008/09/08/1286582.html
把Menu等复杂控件都变为纯粹的div/ul/li + CSS实现,这样兼容性或许会好一些,就算仍有问题,你还是可以通过Control Adapter的形式来手工修复。
方法三:
重写 CSS控制样式中的z-index 属性
将动态弹出菜单的 z-index设大。如:z-index: 100;
http://weblogs./mhildreth/archive/2009/01/26/testing.aspx
方法四:
强制IE解析为与IE7 META兼容
<head runat="server">
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
</head>
如果你使用了ASP.NET Theme技术,请阅读:ASP.NET Themes Don’t Like IE8’s X-UA-Compatible header
http://weblogs./jgalloway/archive/2008/08/05/asp-net-themes-don-t-like-ie8-s-x-ua-compatible-header-neither-do-i.aspx