views:

89

answers:

1

Hello,

This question is a bit tricky, If something is not clear, please ask to explain.

This is happing on all pages that follow this logic:

  • An asp:ValidationSummary on top of the page
  • Some client side validators
  • One Telerik RadUpload control

The problem happens when a client side validator is triggered and it's error message is displayed at the ValidationSummary control. Every control on the page "slides" down to create space for the ValidationSummary control, but the RadUpload stays in the same place and ends up on top of some other control.

If I force the browser to re-render the page (as an example change zoom to 125% and then back to 100%) the RadUpload is displayed where it was suposed to be (slided down to give space for the ValidationSummary control).

Does any one has a solution for this problem? Right now I am trying to use javascript to force the refresh, but it's not so trival...

+2  A: 

It is highly probable that the problem lies with the page styling - there's the position: relative bug for IE. If there's a scrolling container, add position: relative to it and the problem should disappear.

Another option is to "redraw" the RadUpload control by calling a script like this:

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

or trigger IE's hasLayout by adding the following CSS:

.RadUpload { zoom: 1 !important }

(the selector depends on the suite version that you're using - I assume ASP.NET AJAX after Q1.2009)

Alexander Gyoshev
the page is not available for public access.. No scrolling... For now I am keeping to my previous guess, the problem is the RadUpload. I have replaced a required field validator for a custom validator and as this forces a round trip to the server it solves my problem.However this is only a workaround, not a solution...
Sergio
I've added more suggestions to my answer - I hope that they will help.
Alexander Gyoshev