Статическое управление на странице

Вопрос немного каверзный, если что-то непонятно, прошу объяснить.

Это происходит на всех страницах, которые следуют этой логике:

  • Asp:ValidationSummary вверху страницы
  • Некоторые валидаторы на стороне клиента
  • Один элемент управления Telerik RadUpload

Проблема возникает, когда запускается валидатор на стороне клиента, и его сообщение об ошибке отображается в элементе управления ValidationSummary. Каждый элемент управления на странице «скользит» вниз, освобождая место для элемента управления ValidationSummary, но RadUpload остается на том же месте и оказывается поверх какого-либо другого элемента управления.

Если я заставлю браузер повторно отобразить страницу (например, изменить масштаб на 125%, а затем обратно на 100%), RadUpload отображается там, где он должен быть (сдвинут вниз, чтобы освободить место для элемента управления ValidationSummary).

Есть ли у кого-нибудь решение этой проблемы? Прямо сейчас я пытаюсь использовать javascript для принудительного обновления, но это не так уж и просто...


person Sergio    schedule 14.09.2009    source источник
comment
вы могли бы предоставить более подробную информацию о стиле страницы, если бы не ссылку на нее   -  person Alex Gyoshev    schedule 15.09.2009


Ответы (1)


Весьма вероятно, что проблема связана со стилем страницы - есть position: относительная ошибка для IE< /а>. Если есть контейнер с прокруткой, добавьте position: относительно него, и проблема должна исчезнуть.

Другой вариант — «перерисовать» элемент управления RadUpload, вызвав такой скрипт:

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

или активируйте hasLayout IE, добавив следующий CSS:

.RadUpload { zoom: 1 !important }

(селектор зависит от используемой версии пакета — я предполагаю, что ASP.NET AJAX после Q1.2009)

person Alex Gyoshev    schedule 15.09.2009
comment
страница недоступна для общего доступа.. Нет прокрутки... Пока я придерживаюсь своего предыдущего предположения, проблема заключается в RadUpload. Я заменил обязательный валидатор поля на настраиваемый валидатор, и, поскольку это вызывает обратную связь с сервером, это решает мою проблему. Однако это только обходной путь, а не решение... - person Sergio; 15.09.2009
comment
Я добавил в свой ответ больше предложений - надеюсь, они помогут. - person Alex Gyoshev; 15.09.2009