This may or may not be your problem as it only occurs using IE8, not IE7 or Firefox. On the other hand, it only seems to happen with the RadComboBox, so I thought I'd bring it to your attention just in case.
I'm using ASP.NET 3.5 and when I select an item in a combobox, it changes the contents of a related combobox and label field. I'm using the RadAjaxManager in it's simplest for for this. The problem is that in IE8, it scrolls to the top of the page, and you have to scroll down to the control again as the page is longer than the screen. (The MaintainPositionOnScrollBack page directive has no effect) To get around this, I have put in an ugly javascript hack to set the scroll position when the combobox is opened, and then update the scroll position in the ClientEvents property of the AjaxManager to the previous position. This works, but causes a brief flicker. I was wondering if you had a more elegant solution.
The control is defined as so:
I'm using ASP.NET 3.5 and when I select an item in a combobox, it changes the contents of a related combobox and label field. I'm using the RadAjaxManager in it's simplest for for this. The problem is that in IE8, it scrolls to the top of the page, and you have to scroll down to the control again as the page is longer than the screen. (The MaintainPositionOnScrollBack page directive has no effect) To get around this, I have put in an ugly javascript hack to set the scroll position when the combobox is opened, and then update the scroll position in the ClientEvents property of the AjaxManager to the previous position. This works, but causes a brief flicker. I was wondering if you had a more elegant solution.
<
script
type
=
"text/javascript"
>
// Ugly hack
var nonIEScrollPosition = 0;
var IEScrollPosition = 0;
function setScrollPosition(sender, args)
{
nonIEScrollPosition = document.body.scrollTop;
IEScrollPosition = document.documentElement.scrollTop;
}
function updateScrollPosition(sender, args)
{
document.body.scrollTop = nonIEScrollPosition;
document.documentElement.scrollTop = IEScrollPosition;
}
</
script
>
<
telerik:RadAjaxManager
ID
=
"ajaxManager"
runat
=
"server"
>
<
ClientEvents
OnRequestStart
=
"updateScrollPosition"
></
ClientEvents
>
<
AjaxSettings
>
<
telerik:AjaxSetting
AjaxControlID
=
"ddlTMS"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"ddlBuNo"
LoadingPanelID
=
"radLoadingPanel"
/>
<
telerik:AjaxUpdatedControl
ControlID
=
"lblCostCenter"
LoadingPanelID
=
"radLoadingPanel"
/>
</
UpdatedControls
>
The control is defined as so:
<
telerik:RadComboBox
ID
=
"ddlTMS"
Skin
=
"Simple"
DataTextField
=
"TypeModelSeriesID"
DataValueField
=
"TypeModelSeriesID"
OnClientDropDownOpening
=
"setScrollPosition"
AutoPostBack
=
"true"
runat
=
"server"
></
telerik:RadComboBox
>
<
asp:CustomValidator
ID
=
"cvTMS"
Display
=
"Dynamic"
ControlToValidate
=
"ddlTMS"
ValidationGroup
=
"Save"
EnableClientScript
=
"false"
OnServerValidate
=
"CheckTMS"
runat
=
"server"
></
asp:CustomValidator
>