c# - 设置 SmartNavigation=True 会导致 javascript offset.Width/offset.Height 出错

标签 c# asp.net .net css

我正在使用流行的 css hack 在 Internet Explorer 8 中启用边框半径,可在此处找到:( Curved-corner-border-radius-cross-browser)。

它在 IE8 中按预期工作,除了在任何具有回发和 SmartNavigation=True 的 .net 页面上。在回发时,我收到一个 javascript 错误 Invalid Argument Line 87,这是在 htc 文件中,其中正在检索具有圆 Angular 的 offsetHeight/offsetWidth 的 div。 CSS 无法正常工作,布局完全困惑。

我在这个 htc 文件中放置了一个 javascript 警告,只是为了显示应该有圆 Angular 的容器的 offsetWidth 值。首次加载页面时,您会看到数值,单击警报上的“确定”,CSS 就会按预期显示。在回发时,警报将显示值 -1。单击警报上的确定,CSS 已损坏。为什么在 SmartNavigation=True 时无法在回传中找到 offsetWidth/offsetHeight?

在回发时发生错误,第 87 行参数无效(现在带有警报,实际上是 88 行)并且 css 不呈现。我怀疑它与页面初始化以及何时调用此 htc 文件中的 javascript 有关。如果是这种情况,为什么它在第一个页面加载时起作用,是什么使得 htc 文件在 SmartNavigation=Ture 时回发期间的调用方式不同?有什么想法可以让这个 IE hack 与 SmartNavigation 一起工作吗?

这是页面: http://innerworkingdesigns.com/demos/radius/test.aspx

点此查看htc文件 http://innerworkingdesigns.com/demos/radius/styles/border-radius.htc

最佳答案

问题在于 SmartNavigation=True。删除它或设置为 false 可以解决问题。您仍然会遇到 SmartNavigation=True 解决的任何问题,但这是次要的并且 SmartNavigation 已被弃用 http://msdn.microsoft.com/en-us/library/system.web.ui.page.smartnavigation.aspx .

关于c# - 设置 SmartNavigation=True 会导致 javascript offset.Width/offset.Height 出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13183153/

相关文章:

ASP.NET 页面验证

c# - 获取本地组而不是域用户的主要组

c# - 为什么 Silverlight TextBox 使用\r 而不是 Environment.Newline (\r\n) 作为换行符?

c# - Autofac 无法解析构造函数的参数 'System.String applicationClientId'

c# - 检查文件是否为 .NET 程序集

c# - 如何正确地将以字节为单位的文件大小转换为兆字节或千兆字节?

javascript - 使用 jquery 显示基于复选框列表项的隐藏文本框

c# - 测试 NAT 突破代码

asp.net - 颠覆提交时要忽略的文件夹

.net - NHibernate:更改授权查询