Have anyone experience same problem like me?
I have a MutiView, in one of the View it contains a UserControl, the UserControl contains a RadComboBox.
Then I have an RadWindow open with client script, once the RadWindow closed, it called the window onclose client script and do a postback to the RadAjaxPanel (it contains the MutiView).
So I can see the LoadingPanel it appears over the MutiView, but after the load, all combobox, panelbar inside the UserControl is like frozen, when I click on the combobox, it doens't popup the list, when I click on the PanelBar, it doesn't expands or minimize.
//Edit:
All other postback is working fine, i.e: Before postback from RadWindow, the RadComboBox is working fine, but after the postback from RadWindow client-onclose java script to trigger the AjaxResponse everything freeze...
The only solution I can think of is... instead of letting java script to trigger the AjaxResponse, I made another RadButton that has a server side OnClick event (hooked up to the event what AjaxResponse should triggers), then when RadWindow client-onclose, java script will trigger a client click on the RadButton so it will trigger the OnClick event.... In this case, it works fine.....
Thanks in advance.
King
6 Answers, 1 is accepted
Pliease look hire:
http://www.telerik.com/help/aspnet-ajax/ajax-load-user-controls.html
Thank
Hus
I have the same problem. I have RadAjaxPanel with some drop down list controls and RadAsyncUpload control. The Idea is that to read info from the file and populate the drop down lists. As Telerik suggested, I use the function below which actually calls ajax request to update my panel. The lists get populated but after ajax request all lists are frozen... just like that... cannot open, cannot do anything... I also have to mention that the list initially works just fine, but after the ajax request, it freezes. Any suggestions?
Art
function OnClientFilesUploaded(sender, args) {
$find('<%=RadAjaxManager1.ClientID %>').ajaxRequest();
}
Please have a look into the sample code snippet which works fine at my end.
ASPX:
<
telerik:RadAjaxManager
ID
=
"rajaxmanagerUploadFile"
runat
=
"server"
OnAjaxRequest
=
"rajaxmanagerUploadFile_AjaxRequest"
>
</
telerik:RadAjaxManager
>
<
telerik:RadAjaxPanel
ID
=
"rajaxpnlList"
runat
=
"server"
>
<
telerik:RadDropDownList
ID
=
"rdroplistUplodFiles"
runat
=
"server"
>
</
telerik:RadDropDownList
>
<
br
/>
<
telerik:RadAsyncUpload
ID
=
"rasyncuploadDemo"
runat
=
"server"
MultipleFileSelection
=
"Automatic"
OnClientFilesUploaded
=
"fileUpload"
>
</
telerik:RadAsyncUpload
>
</
telerik:RadAjaxPanel
>
JavaScript:
function
fileUpload(sender, args) {
var
dropList = $find(
"<%=rdroplistUplodFiles.ClientID%>"
);
var
index, dropdownItem;
for
(index = 0; index < sender._uploadedFiles.length; index++) {
dropList.trackChanges();
dropdownItem =
new
Telerik.Web.UI.DropDownListItem();
dropdownItem.set_text(sender._uploadedFiles[index].fileInfo.FileName);
dropList.get_items().add(dropdownItem);
}
dropList.commitChanges();
$find(
'<%=rajaxmanagerUploadFile.ClientID %>'
).ajaxRequest();
}
C#:
protected
void
rajaxmanagerUploadFile_AjaxRequest(
object
sender, Telerik.Web.UI.AjaxRequestEventArgs e)
{
//your code
}
Please provide your code if it doesn't help.
Thanks,
Shinu.
I think what I am trying is a little different.... I got a solution... but I smell a bug here.... I localized it to the following simple case.
<telerik:RadScriptBlock runat="server">
<script type="text/javascript">
function OnClientFilesUploaded(sender, args) {
$find('<%=RadAjaxManagerCustomer.ClientID %>').ajaxRequest();
}
</script>
</telerik:RadScriptBlock>
<telerik:RadAjaxManager ID="RadAjaxManagerCustomer" runat="server" EnablePageHeadUpdate="False" >
<AjaxSettings>
<telerik:AjaxSetting AjaxControlID="RadAjaxManagerCustomer">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="RadAjaxPanel" />
<telerik:AjaxUpdatedControl ControlID="Upload" />
</UpdatedControls>
</telerik:AjaxSetting>
</AjaxSettings>
</telerik:RadAjaxManager>
<telerik:RadAjaxPanel runat="server" ID="RadAjaxPanel" >
<telerik:RadAsyncUpload runat="server" ID="Upload" OnClientFilesUploaded="OnClientFilesUploaded"/>
<telerik:RadDropDownList ID="RadDropDownList1" runat="server">
<Items>
<telerik:DropDownListItem runat="server" Text="Item1" />
<telerik:DropDownListItem runat="server" Text="Item2" />
</Items>
</telerik:RadDropDownList>
</telerik:RadAjaxPanel>
OnClientFilesUploaded function and corresponding mechanism I took from telerik demo, so this is what company recommends. If you run the code, initially the drop down list works just fine. When you try to load any file, it will freeze the control in the panel. The solution for this is to include all controls from the panel into RadAjaxManager regardless whether they are updated or not. Note that I have Upload also in the manager; therefore it works fine after uploading the file. If I exclude it, it will just disappear from the screen after upload.
Furthermore, it is important in which order these controls appear in the manager. Specifically, all controls that are INSIDE the panel should appear AFTER the panel record in the manager like this
<telerik:AjaxUpdatedControl ControlID="RadAjaxPanel" />
<telerik:AjaxUpdatedControl ControlID="RadDropDownList1" />
<telerik:AjaxUpdatedControl ControlID="Upload" />
If you try to change the order, for instance like this
<telerik:AjaxUpdatedControl ControlID="RadDropDownList1" />
<telerik:AjaxUpdatedControl ControlID="RadAjaxPanel" />
<telerik:AjaxUpdatedControl ControlID="Upload" />
then controls coming before the panel will just stop working. In this case, the drop down list will just disappear from the screen after the upload.
Overall, this does not sound right… Including RadAjaxPanel into the manager should not affect controls inside of the panels.... Often panels have a bunch of controls, so does Telerik expect developers include all of them into the RadAjaxManager to make them work properly???? Besides, I also believe that the order of the records in RadAjaxManager should not matter…
I hope this helps other developers who face this problem.
Art
Please note that using RadAjaxManager simultaneously with RadAjaxPanel or UpdatePanel is not a supported scenario and Telerik highly recommend to avoid such implementation. Please either use just the manager to update your controls replacing the RadAjaxPanel with a regular asp:Panel, or use the RadAjaxPanel alone to wrap your page. If the same control is placed in a RadAjaxPanel as well as included in RadAjaxManager settings as an AJAXified control (i.e., it is AJAXified by both the RadAjaxPanel and RadAjaxManager), the RadAjaxManager's setting will not work. This is because the RadAjaxPanel AJAX-enables that control instead of the RadAjaxManage. Please take a look into this help documentation which discuss about the same scenario.
Hope this will helps you.
Thanks,
Shinu.