控制页面上的静态

时间:2009-09-14 10:45:49

标签: asp.net telerik render radupload

这个问题有点棘手,如果问题不明确,请提出解释。

这会影响遵循此逻辑的所有页面:

  • 页面顶部的asp:ValidationSummary
  • 一些客户端验证器
  • 一个Telerik RadUpload控件

当触发客户端验证程序并且在ValidationSummary控件上显示错误消息时,会发生此问题。页面上的每个控件都“向下滑动”以为ValidationSummary控件创建空间,但RadUpload保持在同一位置并最终位于其他控件之上。

如果我强制浏览器重新渲染页面(例如将缩放更改为125%然后再返回到100%),RadUpload将显示在其所处的位置(向下滑动以为ValidationSummary控件提供空间)。

有没有人能解决这个问题?现在我正在尝试使用javascript强制刷新,但它不是那么琐碎......

1 个答案:

答案 0 :(得分:2)

问题很可能出在页面样式上 - 那就是position: relative bug for IE。如果有一个滚动容器,添加位置:相对于它,问题应该消失。

另一种选择是通过调用这样的脚本来“重绘”RadUpload控件:

var upload = document.getElementById('<%= RadUpload1.ClientID');
upload.style.cssText = upload.style.cssText;

或通过添加以下CSS来触发IE的hasLayout

.RadUpload { zoom: 1 !important }

(选择器取决于您正在使用的套件版本 - 我假设在2009年第一季度之后的ASP.NET AJAX)