I am having a difficult time (it's been two days already) trying to prevent the display of a loading panel when a nested control triggers an async/ajax event.
In my situation I have an ASP:Panel that is Ajaxified via adding a declarative AjaxSetting on a page and the loading panel is specified. This is because normally I want the loading panel to display for anything that updates in the panel, like the markup below:
This is what the panel looks like when defined.
I am adding dynamic controls, user controls, when the page loads to the "DynamicControls" placeholder. Normally when one of these dynamically added user controls has a drop down or another control, this works great because if I auto-postback the dropdown it gets included in the events that trigger that loading panel.
However, I have a situation where there is a particular button in a particular user control that I do not want it to trigger the appearance of the loading panel when a user clicks the button, because the button has JavaScript to trigger another screen/UI blocking function while a server-side process is running instead of the loading panel (which does not block all controls on the screen normally). The situation as it stands is that both the ajax loading panel and this other screen/ui blocking (the second one blocks the entire screen and has a different look and feel) load and it's very confusing to the user/redundant.
It is not that I want to remove the AjaxUpdateControl entry for the "ProblematicArea" it's that I do not want the loading panel to display in a particular case and for all other cases I want it to display.
In my situation I have an ASP:Panel that is Ajaxified via adding a declarative AjaxSetting on a page and the loading panel is specified. This is because normally I want the loading panel to display for anything that updates in the panel, like the markup below:
<
telerik:AjaxSetting
AjaxControlID
=
"ProblematicArea"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"ProblematicArea"
LoadingPanelID
=
"LoadingPanel"
/>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
This is what the panel looks like when defined.
<
asp:Panel
ID
=
"ProblematicArea"
runat
=
"server"
>
<
asp:PlaceHolder
Runat
=
"server"
ID
=
"DynamicControls"
></
asp:PlaceHolder
>
</
asp:Panel
>
I am adding dynamic controls, user controls, when the page loads to the "DynamicControls" placeholder. Normally when one of these dynamically added user controls has a drop down or another control, this works great because if I auto-postback the dropdown it gets included in the events that trigger that loading panel.
However, I have a situation where there is a particular button in a particular user control that I do not want it to trigger the appearance of the loading panel when a user clicks the button, because the button has JavaScript to trigger another screen/UI blocking function while a server-side process is running instead of the loading panel (which does not block all controls on the screen normally). The situation as it stands is that both the ajax loading panel and this other screen/ui blocking (the second one blocks the entire screen and has a different look and feel) load and it's very confusing to the user/redundant.
It is not that I want to remove the AjaxUpdateControl entry for the "ProblematicArea" it's that I do not want the loading panel to display in a particular case and for all other cases I want it to display.