This is a migrated thread and some comments may be shown as answers.

ComboBox, PanelBar freeze after postback?

6 Answers 184 Views
Ajax
This is a migrated thread and some comments may be shown as answers.
King Chan
Top achievements
Rank 1
King Chan asked on 18 Apr 2011, 05:33 PM

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

Sort by
0
Hus Damen
Top achievements
Rank 1
answered on 21 Apr 2011, 02:09 PM
Hi

Pliease look hire:

http://www.telerik.com/help/aspnet-ajax/ajax-load-user-controls.html

Thank
Hus
0
King Chan
Top achievements
Rank 1
answered on 22 Apr 2011, 12:25 AM
But my user control is not dynamically loaded, I have it statically in my aspx file (with <mycontrol:myusercontrol xxxxx> etc) and it already contains in a RadAjaxPanel...

0
Artyom
Top achievements
Rank 1
answered on 05 Aug 2014, 08:10 PM
Did anybody find any solution for this? I could not find much useful in Google...

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();
                }





0
Shinu
Top achievements
Rank 2
answered on 06 Aug 2014, 05:29 AM
Hi Artyom,

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.
0
Artyom
Top achievements
Rank 1
answered on 06 Aug 2014, 03:33 PM
Hi 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

0
Shinu
Top achievements
Rank 2
answered on 07 Aug 2014, 03:07 AM
Hi Artyom,

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.
Tags
Ajax
Asked by
King Chan
Top achievements
Rank 1
Answers by
Hus Damen
Top achievements
Rank 1
King Chan
Top achievements
Rank 1
Artyom
Top achievements
Rank 1
Shinu
Top achievements
Rank 2
Share this question
or