ComboBox, PanelBar freeze after postback?

7 posts, 0 answers
  1. King Chan
    King Chan avatar
    30 posts
    Member since:
    Feb 2010

    Posted 18 Apr 2011 Link to this post

    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

  2. Hus Damen
    Hus Damen avatar
    33 posts
    Member since:
    Dec 2009

    Posted 21 Apr 2011 Link to this post

    Hi

    Pliease look hire:

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

    Thank
    Hus
  3. UI for ASP.NET Ajax is Ready for VS 2017
  4. King Chan
    King Chan avatar
    30 posts
    Member since:
    Feb 2010

    Posted 21 Apr 2011 Link to this post

    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...

  5. Artyom
    Artyom avatar
    2 posts
    Member since:
    Jul 2014

    Posted 05 Aug 2014 Link to this post

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





  6. Shinu
    Shinu avatar
    17764 posts
    Member since:
    Mar 2007

    Posted 06 Aug 2014 in reply to Artyom Link to this post

    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.
  7. Artyom
    Artyom avatar
    2 posts
    Member since:
    Jul 2014

    Posted 06 Aug 2014 in reply to Shinu Link to this post

    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

  8. Shinu
    Shinu avatar
    17764 posts
    Member since:
    Mar 2007

    Posted 06 Aug 2014 in reply to Artyom Link to this post

    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.
Back to Top
UI for ASP.NET Ajax is Ready for VS 2017