Hi,
I have a .aspx page with web user controls loaded dynamically into a panel called Main_PH. Everything works as it should. However, when I try to introduct RadAjaxManager with loading panels things don't go so great.
Below is my code for the default.aspx page
Here is the code for the pre-render in code behind of default.aspx
Here is the code for the .ascx page which is loaded into Main_PH
When I click on the button LinkButton_MM_Inbox from the default.aspx page, what happens is the animation starts, finishes etc on the Panel_Loading from the .ascx and an Ajax postback happens but a new Web User Control.ascx does not appear on the page (which is what is supposed to happen).
If I change the code in the default.aspx page to this: (Main_PH instead of Panel_Loading...
... the Ajax postback happens, the new web user control is added as should happen but I don't get the animation in Panel_Loading.
I'm not really sure what to do?? I can't add the animations to Main_PH because Main_PH is heavily styled from the user controls and the animation will not show.
Any suggestions would be great! Thanks!
Sunny
I have a .aspx page with web user controls loaded dynamically into a panel called Main_PH. Everything works as it should. However, when I try to introduct RadAjaxManager with loading panels things don't go so great.
Below is my code for the default.aspx page
<
telerik:RadCodeBlock
ID
=
"Default_RadCodeBlock"
runat
=
"server"
>
<
script
type
=
"text/javascript"
>
function RequestStart(sender, eventArgs) {
var loadingImage = document.getElementById('<%= Default_RadAjaxLoadingPanel.FindControl("Image1").ClientID %>');
var panel1 = $get("WUC_default_wuc_Panel_Loading");
loadingImage.style.position = "relative";
loadingImage.style.top = (parseInt(panel1.style.height) / 2) + "px";
}
function MyClientShowing(sender, args) {
args.get_loadingElement().style.border = "2px solid red";
args.set_cancelNativeDisplay(true);
$telerik.$(args.get_loadingElement()).show("slow");
}
function MyClientHiding(sender, args) {
args.get_loadingElement().style.border = "2px solid blue";
args.set_cancelNativeDisplay(true);
$telerik.$(args.get_loadingElement()).hide("slow");
}
</
script
>
</
telerik:RadCodeBlock
>
</
head
>
<
body
id
=
"home"
>
<
form
id
=
"Default_Master_Form"
runat
=
"server"
>
<
telerik:RadScriptManager
ID
=
"Default_ScriptManager"
runat
=
"server"
/>
<
telerik:RadAjaxManager
ID
=
"Default_RadAjaxManager"
runat
=
"server"
DefaultLoadingPanelID
=
"Default_RadAjaxLoadingPanel"
>
<
AjaxSettings
>
<
telerik:AjaxSetting
AjaxControlID
=
"LinkButton_MM_Inbox"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"Panel_Loading"
LoadingPanelID
=
"Default_RadAjaxLoadingPanel"
>
</
telerik:AjaxUpdatedControl
>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
</
AjaxSettings
>
<
ClientEvents
OnRequestStart
=
"RequestStart"
/>
</
telerik:RadAjaxManager
>
<
telerik:RadAjaxLoadingPanel
ID
=
"Default_RadAjaxLoadingPanel"
runat
=
"server"
Transparency
=
"30"
Skin
=
"Default"
>
<
div
class
=
"loading"
>
<
asp:Image
ID
=
"Image1"
runat
=
"server"
ImageUrl
=
"~/Images/loading2.gif"
/>
</
div
>
</
telerik:RadAjaxLoadingPanel
>
......
<
asp:PlaceHolder
ID
=
"Main_PH"
runat
=
"server"
>
</
asp:PlaceHolder
>
Here is the code for the pre-render in code behind of default.aspx
protected void Page_PreRender(object sender, EventArgs e)
{
Default_RadAjaxLoadingPanel.OnClientShowing = "MyClientShowing";
Default_RadAjaxLoadingPanel.OnClientHiding = "MyClientHiding";
}
Here is the code for the .ascx page which is loaded into Main_PH
<
asp:Panel
ID
=
"Panel_Loading"
runat
=
"server"
CssClass
=
"loading_panel"
Height
=
"440px"
>
<
h2
>
Administration</
h2
>
<
div
class
=
"content_main"
>
<
h3
>
1. Employee Settings - Personal</
h3
>
<
div
>
<
label
for
=
"empid_ti"
>
Employee Id
<
asp:Button
ID
=
"Button1"
runat
=
"server"
Text
=
"Button"
CausesValidation
=
"false"
/></
label
>
<
asp:TextBox
ID
=
"TextBox1"
runat
=
"server"
EnableViewState
=
"true"
></
asp:TextBox
></
div
>
</
asp:
Panel>
When I click on the button LinkButton_MM_Inbox from the default.aspx page, what happens is the animation starts, finishes etc on the Panel_Loading from the .ascx and an Ajax postback happens but a new Web User Control.ascx does not appear on the page (which is what is supposed to happen).
If I change the code in the default.aspx page to this: (Main_PH instead of Panel_Loading...
<
telerik:AjaxSetting
AjaxControlID
=
"LinkButton_MM_Inbox"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"Main_PH"
LoadingPanelID
=
"Default_RadAjaxLoadingPanel"
>
</
telerik:AjaxUpdatedControl
>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
... the Ajax postback happens, the new web user control is added as should happen but I don't get the animation in Panel_Loading.
I'm not really sure what to do?? I can't add the animations to Main_PH because Main_PH is heavily styled from the user controls and the animation will not show.
Any suggestions would be great! Thanks!
Sunny