0

这个问题有点棘手,如果有不清楚的地方,请要求解释。

这发生在所有遵循此逻辑的页面上:

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

当客户端验证器被触发并且它的错误消息显示在 ValidationSummary 控件中时,就会出现问题。页面上的每个控件“滑动”下来为 ValidationSummary 控件创建空间,但 RadUpload 保持在同一个位置并最终位于其他一些控件的顶部。

如果我强制浏览器重新呈现页面(例如,将缩放比例更改为 125%,然后再回到 100%),则 RadUpload 将显示在它应该在的位置(向下滑动以为 ValidationSummary 控件留出空间)。

有没有人有解决这个问题的方法?现在我正在尝试使用 javascript 来强制刷新,但这并不是那么简单......

4

1 回答 1

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 }

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

于 2009-09-15T12:45:32.590 回答