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

AjaxLoadingPanel doesn't go away

10 Answers 294 Views
Ajax
This is a migrated thread and some comments may be shown as answers.
Marty
Top achievements
Rank 1
Marty asked on 23 Jan 2009, 08:20 PM
I'm using a RadGrid inside a RadAjaxManager that has its LoadingPanelID="LoadingPanel1".  This is on a page that is part of master page setup, but is NOT the master page.

The master page is the page where the loading panel is defined, as follows:
<telerik:RadAjaxLoadingPanel ID="LoadingPanel1" runat="server" Transparency="75" 
        MinDisplayTime="500" BackColor="#E0E0E0">  
        <img src='<%= RadAjaxLoadingPanel.GetWebResourceUrl(Page, "Telerik.Web.UI.Skins.Default.Ajax.loading6.gif") %>' 
            alt="Loading..." style="border: 0; margin-top: 40px;" /> 
    </telerik:RadAjaxLoadingPanel> 

This control works great nearly all the time except when using the filtering options on said grid.  What happens, is that sometimes, not all the time, when you specify a filter on a column, the Loadingpanel comes up fine, the grid filter results are shown, and control is returned to the browser, however, the loading panel never goes away.  It happens I'd say about 1 in 5 times, the other times its fine. 

Am I using the panel wrong, or is there some known issue?  I'm using 2008Q3 version of the controls.

Thanks,
Marty

10 Answers, 1 is accepted

Sort by
0
Iana Tsolova
Telerik team
answered on 26 Jan 2009, 03:10 PM
Hello Marty,

I am afraid this is not a know issue. Furthermore, your RadAjaxLoadingPanel declaration looks fine to me. However I suggest that you send us a runnable sample illustrating the unexpected behavior or at least share the problematic master and content pages. Then I can investigate it in depth and find a resolution for you.

Thank you for your cooperation in advance.

Sincerely yours,
Iana
the Telerik team

Check out Telerik Trainer, the state of the art learning tool for Telerik products.
0
Marty
Top achievements
Rank 1
answered on 26 Jan 2009, 03:36 PM
Hello Lana,

Thank you for your reply.

Here is the masterpage:
<%@ Master Language="C#" AutoEventWireup="true" CodeFile="MasterPage.master.cs" Inherits="MasterPage" %> 
 
<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml">  
<head runat="server">  
    <title></title>  
    <link rel="StyleSheet" href="AjaxSessionTimer.css" type="text/css" /> 
 
    <script type="text/javascript" src="net.js"></script> 
 
    <script type="text/javascript" src="AjaxSessionTimer.js"></script> 
 
    <script type="text/javascript" src="~/ChgControlScripts.js"></script> 
 
    <asp:ContentPlaceHolder ID="head" runat="server">  
    </asp:ContentPlaceHolder> 
</head> 
<body> 
 
    <script type="text/javascript">  
        function hideMenuItem() {  
            var menu = $find("<%=RadMenu1.ClientID %>");  
 
            menu.findItemByText("root 1").hide();  
        }  
        function showMenuItem() {  
            var menu = $find("<%=RadMenu1.ClientID %>");  
 
            menu.findItemByText("root 1").show();  
        }  
 
        function showOrHideMenu() {  
            var menu = $find("<%=RadMenu1.ClientID %>");  
            if (menu.get_element().style.display == "none") {  
                menu.get_element().style.display = "";  
            }  
            else {  
                menu.get_element().style.display = "none";  
            }  
        }  
    </script> 
 
    <form id="form1" runat="server" enctype="multipart/form-data">  
    <telerik:RadScriptManager ID="ScriptManager1" runat="server" EnableTheming="True">  
        <Scripts> 
            <asp:ScriptReference Path="~/ChgControlScripts.js" /> 
        </Scripts> 
    </telerik:RadScriptManager> 
    <telerik:RadFormDecorator ID="RFDHeader" runat="server" DecorationZoneID="header">  
    </telerik:RadFormDecorator> 
    <telerik:RadFormDecorator ID="RFDContent" runat="server" DecorationZoneID="content" 
        DecoratedControls="RadioButtons,Buttons"></telerik:RadFormDecorator> 
    <telerik:RadFormDecorator ID="RFDLeftCol" runat="server" DecorationZoneID="leftcol">  
    </telerik:RadFormDecorator> 
    <div id="header">  
        <table> 
            <tr> 
                <td width="400px" class="pageHeader">  
                    <asp:Label CssClass="headerWithBG" runat="server" ID="lblHeadingHeader" Text="Change Control System"></asp:Label><br /> 
                    <hr /> 
                    <asp:Label CssClass="plainTextWithBG" runat="server" ID="lblHeaderUser" Text="NA"></asp:Label> 
                    <br /> 
                    <class="HyperlinkOnForm" href="javascript:showOrHideMenu();">Toggle Menu</a> 
                </td> 
            </tr> 
        </table> 
    </div> 
    <div id="leftcol">  
        <telerik:RadMenu ID="RadMenu1" runat="server" Flow="Vertical">  
            <CollapseAnimation Type="OutQuint" Duration="200"></CollapseAnimation> 
            <Items> 
                <telerik:RadMenuItem runat="server" Text="Home" NavigateUrl="~/changeControlList.aspx">  
                </telerik:RadMenuItem> 
            </Items> 
        </telerik:RadMenu> 
    </div> 
    <div id="content">  
        <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">  
        </asp:ContentPlaceHolder> 
    </div> 
    <telerik:RadAjaxLoadingPanel ID="LoadingPanel1" runat="server" Transparency="75" 
        MinDisplayTime="500" BackColor="#E0E0E0">  
        <img src='<%= RadAjaxLoadingPanel.GetWebResourceUrl(Page, "Telerik.Web.UI.Skins.Default.Ajax.loading6.gif") %>' 
            alt="Loading..." style="border: 0; margin-top: 40px;" /> 
    </telerik:RadAjaxLoadingPanel> 
    </form> 
</body> 
</html> 
This is exactly as it appears, except I removed most of the RadMenuItems, to help shorten the code, since they're likely not relevant in this situation.

As for the mis-behaving grids on content pages... I've gotten it to occur on any content page that I'm using a grid on.  Here is one of the simpler ones:
<%@ Page Language="C#" MasterPageFile="~/MasterPage.master" 
    AutoEventWireup="true" CodeFile="ReasonEdit.aspx.cs" Inherits="CTS.ChangeControl.admin_ReasonEdit" %> 
 
<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %> 
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server">  
</asp:Content> 
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">  
    <telerik:RadAjaxPanel runat="server" ID="RadAjaxPanel1" LoadingPanelID="LoadingPanel1">  
        <table> 
            <tr> 
                <td> 
                    <asp:Label ID="lblHeader" runat="server" Text="Change Reasons Administration" CssClass="header" /><br /> 
                    <br /> 
                </td> 
            </tr> 
            <tr> 
                <td> 
                    <table> 
                        <tr> 
                            <td width="10">  
                            </td> 
                            <td> 
                                <asp:Label ID="lblReason" runat = "server" CSSClass="plainTextNoBG" Text="Change Reason: "></asp:Label> 
                            </td> 
                            <td> 
                                <telerik:RadTextBox MaxLength="50" ID="txtName" runat="server" Width="300">  
                                </telerik:RadTextBox> 
                                <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="txtName" 
                                    CssClass="ValidationText" Display="Dynamic" ErrorMessage="Reason for Change">*</asp:RequiredFieldValidator> 
                            </td> 
                        </tr> 
                        <tr> 
                            <td width="10">  
                                <br /> 
                            </td> 
                            <td> 
                            </td> 
                            <td> 
                            </td> 
                        </tr> 
                        <tr> 
                            <td width="10">  
                                <br /> 
                            </td> 
                            <td> 
                            </td> 
                            <td> 
                                <asp:Button ID="btnAdd" runat="server" Text="Add" OnClick="btnAdd_Click" /> 
                                <asp:Button ID="btnClear" runat="server" Text="Clear Form" OnClick="btnClear_Click" /> 
                                <asp:Button ID="btnUpdate" runat="server" Text="Update Record" OnClick="btnUpdate_Click" 
                                    Enabled="False" /> 
                                <br /> 
                            </td> 
                        </tr> 
                    </table> 
                </td> 
            </tr> 
            <tr> 
                <td> 
                    <telerik:RadGrid ID="grdReasons" runat="server" AllowFilteringByColumn="True" OnNeedDataSource="grdReasons_OnNeedDataSource" 
                        AllowSorting="True" GridLines="None" ShowGroupPanel="True" OnSelectedIndexChanged="grdReasons_SelectedIndexChanged" 
                        AutoGenerateColumns="False" AllowPaging="True">  
                        <MasterTableView DataKeyNames="ReasonForChangeID">  
                            <RowIndicatorColumn> 
                                <HeaderStyle Width="20px"></HeaderStyle> 
                            </RowIndicatorColumn> 
                            <ExpandCollapseColumn> 
                                <HeaderStyle Width="20px"></HeaderStyle> 
                            </ExpandCollapseColumn> 
                            <Columns> 
                                <telerik:GridBoundColumn DataField="ReasonForChangeID" EmptyDataText="&amp;nbsp;" 
                                    HeaderText="Change ReasonID" UniqueName="column3" Visible="False">  
                                </telerik:GridBoundColumn> 
                                <telerik:GridBoundColumn DataField="ReasonForChange" EmptyDataText="&amp;nbsp;" HeaderText="Change Reason" 
                                    UniqueName="column">  
                                </telerik:GridBoundColumn> 
                            </Columns> 
                        </MasterTableView> 
                        <ClientSettings AllowDragToGroup="True" EnablePostBackOnRowClick="True">  
                            <Selecting AllowRowSelect="True" /> 
                        </ClientSettings> 
                        <FilterMenu EnableTheming="True">  
                            <CollapseAnimation Type="OutQuint" Duration="200"></CollapseAnimation> 
                        </FilterMenu> 
                    </telerik:RadGrid> 
                </td> 
            </tr> 
        </table> 
    </telerik:RadAjaxPanel> 
</asp:Content> 
 

and the relevant code-behind:
using System;  
using System.Collections.Generic;  
using System.Linq;  
using System.Web;  
using System.Web.UI;  
using System.Web.UI.WebControls;  
using System.Data;  
using System.Data.SqlClient;  
using System.Configuration;  
using Telerik.Web.UI.Grid;  
using Telerik.Web.UI;  
 
 
namespace CTS.ChangeControl  
{  
    public partial class admin_ReasonEdit : SiteSettings  
    {  
        protected void Page_Load(object sender, EventArgs e)  
        {  
            if (!IsPostBack)  
            {  
                  
                if (!CTS.ChangeControl.Authentication.cAuthorization.CanAccessReasonsEdit(Session["currentGroup"].ToString()))  
                    Response.Redirect("~/NoAuth/NoAccess.aspx");  
                Page.Title = lblHeader.Text;  
                LoadGrid(false);  
            }  
        }  
 
        protected void grdReasons_OnNeedDataSource(object sender, EventArgs e)  
        {  
            LoadGrid(false);  
        }  
 
        private void LoadGrid(bool needsRebind)  
        {  
            grdReasons.DataSource = CTS.ChangeControl.DAL.cChangeReasons.GetReasons();  
            if(needsRebind)  
                grdReasons.Rebind();  
        }  
        protected void grdReasons_SelectedIndexChanged(object sender, EventArgs e)  
        {  
            GridDataItem item = (GridDataItem)grdReasons.SelectedItems[0];  
            string str = item.GetDataKeyValue("ReasonForChangeID").ToString();  
            CTS.ChangeControl.DAL.ChangeReason selectedReason = CTS.ChangeControl.DAL.cChangeReasons.GetSingleReason(Convert.ToInt32(str));  
            Session["CurrentReason"] = selectedReason;  
            txtName.Text = selectedReason.ReasonForChange;  
            btnUpdate.Enabled = true;  
        }  
    }  

I load all grids I'm using in the app in the same fashion, so it's possible it's developer error, but I'm not sure.

I hope this is enough info.  Let me know if you need more.

Thanks in advance for the help,
Marty
0
Iana Tsolova
Telerik team
answered on 27 Jan 2009, 12:03 PM
Hi Marty,

Thank you for sharing your code with us.

I would suggest that you place the RadAjaxLoadingPanel in this page/control where you reference it, in this case in the content page.

However, if you use same RadAjaxLoadingPanel in all your pages, then you could use RadAjaxManager and RadAjaxManagerProxy to ajaxify your application instead of RadAjaxPanel:

MasterPage:
<form id="form1" runat="server" enctype="multipart/form-data">     
    <telerik:RadScriptManager ID="ScriptManager1" runat="server" EnableTheming="True">     
        <Scripts>    
            <asp:ScriptReference Path="~/ChgControlScripts.js" />    
        </Scripts>    
    </telerik:RadScriptManager>    
    <telerik:RadFormDecorator ID="RFDHeader" runat="server" DecorationZoneID="header">     
    </telerik:RadFormDecorator>    
    <telerik:RadFormDecorator ID="RFDContent" runat="server" DecorationZoneID="content"    
        DecoratedControls="RadioButtons,Buttons"></telerik:RadFormDecorator>    
    <telerik:RadFormDecorator ID="RFDLeftCol" runat="server" DecorationZoneID="leftcol">     
    </telerik:RadFormDecorator> 
    <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server"   
        DefaultLoadingPanelID="LoadingPanel1" />    
    <div id="header">     
        <table>    
            <tr>    
                <td width="400px" class="pageHeader">     
                    <asp:Label CssClass="headerWithBG" runat="server" ID="lblHeadingHeader" Text="Change Control System"></asp:Label><br />    
                    <hr />    
                    <asp:Label CssClass="plainTextWithBG" runat="server" ID="lblHeaderUser" Text="NA"></asp:Label>    
                    <br />    
                    <class="HyperlinkOnForm" href="javascript:showOrHideMenu();">Toggle Menu</a>    
                </td>    
            </tr>    
        </table>    
    </div>    
    <div id="leftcol">     
        <telerik:RadMenu ID="RadMenu1" runat="server" Flow="Vertical">     
            <CollapseAnimation Type="OutQuint" Duration="200"></CollapseAnimation>    
            <Items>    
                <telerik:RadMenuItem runat="server" Text="Home" NavigateUrl="~/changeControlList.aspx">     
                </telerik:RadMenuItem>    
            </Items>    
        </telerik:RadMenu>    
    </div>    
    <div id="content">     
        <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">     
        </asp:ContentPlaceHolder>    
    </div>    
    <telerik:RadAjaxLoadingPanel ID="LoadingPanel1" runat="server" Transparency="75"    
        MinDisplayTime="500" BackColor="#E0E0E0">     
        <img src='<%= RadAjaxLoadingPanel.GetWebResourceUrl(Page, "Telerik.Web.UI.Skins.Default.Ajax.loading6.gif") %>'    
            alt="Loading..." style="border: 0; margin-top: 40px;" />    
    </telerik:RadAjaxLoadingPanel>    
    </form>    
 

ContentPage:
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">     
    <telerik:RadAjaxManagerProxy ID="RadAjaxManagerProxy1" runat="server">  
        <AjaxSettings> 
            <telerik:AjaxSetting AjaxControlID="Panel1">  
                <UpdatedControls> 
                    <telerik:AjaxUpdatedControl ControlID="Panel1" /> 
                </UpdatedControls> 
            </telerik:AjaxSetting> 
        </AjaxSettings> 
    </telerik:RadAjaxManagerProxy> 
    <asp:Panel runat="server" ID="Panel1">     
        <table>    
            <tr>    
                <td>    
                    <asp:Label ID="lblHeader" runat="server" Text="Change Reasons Administration" CssClass="header" /><br />    
                    <br />    
                </td>    
            </tr>    
            <tr>    
                <td>    
                    <table>    
                        <tr>    
                            <td width="10">     
                            </td>    
                            <td>    
                                <asp:Label ID="lblReason" runat = "server" CSSClass="plainTextNoBG" Text="Change Reason: "></asp:Label>    
                            </td>    
                            <td>    
                                <telerik:RadTextBox MaxLength="50" ID="txtName" runat="server" Width="300">     
                                </telerik:RadTextBox>    
                                <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="txtName"    
                                    CssClass="ValidationText" Display="Dynamic" ErrorMessage="Reason for Change">*</asp:RequiredFieldValidator>    
                            </td>    
                        </tr>    
                        <tr>    
                            <td width="10">     
                                <br />    
                            </td>    
                            <td>    
                            </td>    
                            <td>    
                            </td>    
                        </tr>    
                        <tr>    
                            <td width="10">     
                                <br />    
                            </td>    
                            <td>    
                            </td>    
                            <td>    
                                <asp:Button ID="btnAdd" runat="server" Text="Add" OnClick="btnAdd_Click" />    
                                <asp:Button ID="btnClear" runat="server" Text="Clear Form" OnClick="btnClear_Click" />    
                                <asp:Button ID="btnUpdate" runat="server" Text="Update Record" OnClick="btnUpdate_Click"    
                                    Enabled="False" />    
                                <br />    
                            </td>    
                        </tr>    
                    </table>    
                </td>    
            </tr>    
            <tr>    
                <td>    
                    <telerik:RadGrid ID="grdReasons" runat="server" AllowFilteringByColumn="True" OnNeedDataSource="grdReasons_OnNeedDataSource"    
                        AllowSorting="True" GridLines="None" ShowGroupPanel="True" OnSelectedIndexChanged="grdReasons_SelectedIndexChanged"    
                        AutoGenerateColumns="False" AllowPaging="True">     
                        <MasterTableView DataKeyNames="ReasonForChangeID">     
                            <RowIndicatorColumn>    
                                <HeaderStyle Width="20px"></HeaderStyle>    
                            </RowIndicatorColumn>    
                            <ExpandCollapseColumn>    
                                <HeaderStyle Width="20px"></HeaderStyle>    
                            </ExpandCollapseColumn>    
                            <Columns>    
                                <telerik:GridBoundColumn DataField="ReasonForChangeID" EmptyDataText="&amp;nbsp;"    
                                    HeaderText="Change ReasonID" UniqueName="column3" Visible="False">     
                                </telerik:GridBoundColumn>    
                                <telerik:GridBoundColumn DataField="ReasonForChange" EmptyDataText="&amp;nbsp;" HeaderText="Change Reason"    
                                    UniqueName="column">     
                                </telerik:GridBoundColumn>    
                            </Columns>    
                        </MasterTableView>    
                        <ClientSettings AllowDragToGroup="True" EnablePostBackOnRowClick="True">     
                            <Selecting AllowRowSelect="True" />    
                        </ClientSettings>    
                        <FilterMenu EnableTheming="True">     
                            <CollapseAnimation Type="OutQuint" Duration="200"></CollapseAnimation>    
                        </FilterMenu>    
                    </telerik:RadGrid>    
                </td>    
            </tr>    
        </table>    
    </asp:Panel>    
</asp:Content>    
 

Find more about RadAjax and MasterPages in the below resources:
http://www.telerik.com/help/aspnet-ajax/ajxajaxmasterpage.html
http://www.telerik.com/help/aspnet-ajax/ajax-manager-proxy.html

Try it out and let me know if the issue persists.

Sincerely yours,
Iana
the Telerik team

Check out Telerik Trainer, the state of the art learning tool for Telerik products.
0
Marty
Top achievements
Rank 1
answered on 27 Jan 2009, 01:36 PM
Lana,

Thank you for the suggestions. I attempted your suggestion with the RadAjaxProxy since I'm using a masterpage setup and the loading panel IS used on all of my content pages.

Unfortunately, the same behavior is occurring... except it defiintely seems to be related to the particular filters being chosen:
  • Between
  • NotBetween
  • IsEmpty
  • NotIsEmpty
  • IsNull
  • NotIsNull

I'm not sure if my input is somehow screwing up those filters, but the last 4 should be ignoring any input and I'm not quite sure what kind of input the 1st two require.

I also tried using the proxy setup, but putting the loadingpanel right on the content page, and get the same results.

Is there anything else I can try?  Perhaps a way to hide the filters causing issues?

Thanks again,
Marty

0
Tallen
Top achievements
Rank 1
answered on 29 Jan 2009, 08:56 AM
We have exactly the same problem here, except we're only using a very basic panel which gets updated (ie. about as simple as you can get). It's not quite as frequent - it happens about 1 in 30 times, but the behaviour is identical. The load indicator stops animating, the underlying form appears, but the loading panel (and indicator) are both still visible and it obscures buttons, etc. making it imposisble to do anything.

It's intermittant and doesn't appear to be tied to anything in particular (ie. no particular sequence of steps) and tracing the JS when it does happen ends up with a null reference somewhere in the semi-obstificated Microsoft AJAX library. We don't think it's the MS library causing the problem though.
0
Iana Tsolova
Telerik team
answered on 29 Jan 2009, 01:03 PM
Hello Marty,

Please review the below articles for more information on RadGrid filtering functions and customizing filtering menu:

http://www.telerik.com/help/aspnet-ajax/grdbasicfiltering.html
http://www.telerik.com/help/aspnet-ajax/grdreducingfiltermenuoptions.html

Additionally, I suggest that you send a sample project where the issue is reproducible (in a formal support ticket). I will debug it locally and find a proper solution for you.

And to Tallen:

It would be great if you could send us sample code for further investigation of the behavior you described as it is not a known one.  A live Url could also be of help.

Regards,
Iana
the Telerik team

Check out Telerik Trainer, the state of the art learning tool for Telerik products.
0
Marty
Top achievements
Rank 1
answered on 29 Jan 2009, 02:38 PM

Thank you for submitting your inquiry to the Telerik Support.

Your ticket ID is : 187733

Working project attached.

0
Iana Tsolova
Telerik team
answered on 02 Feb 2009, 11:07 AM
Hi Marty,

Thank you for opening a formal support ticket and for sending a sample project.
You can find my answer to the preceding issue there.

Best wishes,
Iana
the Telerik team

Check out Telerik Trainer, the state of the art learning tool for Telerik products.
0
Marty
Top achievements
Rank 1
answered on 02 Feb 2009, 01:56 PM
Lana,

I did recieve your response to my support ticket and just wanted to let you know that I plan on repsonding, just need to find the time.  Thanks.

Marty
0
David Tsao
Top achievements
Rank 1
answered on 16 Jun 2009, 06:45 PM

I had a similar issue to the OP, but found a work around I wanted to share. My project is using Telerik.Web.UI, Version=2009.1.311.20, using RadTreeView and updating a panel based on the clicked node. If I click around in the tree faster than the application can keep up, the AjaxLoadingPanel would stay visible after the application finally catches up.

The work around is to set MinDisplayTime="0" on the RadAjaxLoadingPanel. Now, if you click nodes rapidly in the tree, the AjaxLoadingPanel will disappear and the panel will revert to the previously displayed content. Once the application catches up, the panel displays the final node's contents.

The sample code illustrates the problem:
default.aspx:

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %> 
 
<%@ Register Assembly="Telerik.Web.UI, Version=2009.1.311.20, Culture=neutral, PublicKeyToken=121fae78165ba3d4" 
    Namespace="Telerik.Web.UI" TagPrefix="telerik" %> 
<%@ Register Assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" 
    Namespace="System.Web.UI" TagPrefix="asp" %> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml">  
<head runat="server">  
    <title></title>  
</head> 
<body> 
    <form id="form1" runat="server">  
    <telerik:RadScriptManager ID="RadScriptManager1" runat="server">  
    </telerik:RadScriptManager> 
    <div> 
        <table style="width: 100%;">  
            <tr> 
                <td style="width: 30%" valign="top">  
                    &nbsp;  
                    <telerik:RadTreeView ID="RadTreeView1" Runat="server">  
                        <Nodes> 
                            <telerik:RadTreeNode runat="server" Text="Root RadTreeNode1">  
                                <Nodes> 
                                    <telerik:RadTreeNode runat="server" Text="Child RadTreeNode 1">  
                                    </telerik:RadTreeNode> 
                                    <telerik:RadTreeNode runat="server" Text="Child RadTreeNode 2">  
                                    </telerik:RadTreeNode> 
                                    <telerik:RadTreeNode runat="server" Text="Child RadTreeNode 3">  
                                    </telerik:RadTreeNode> 
                                    <telerik:RadTreeNode runat="server" Text="Child RadTreeNode 4">  
                                    </telerik:RadTreeNode> 
                                    <telerik:RadTreeNode runat="server" Text="Child RadTreeNode 5">  
                                    </telerik:RadTreeNode> 
                                </Nodes> 
                            </telerik:RadTreeNode> 
                        </Nodes> 
                    </telerik:RadTreeView> 
                </td> 
                <td> 
                    &nbsp;  
                    <asp:Panel ID="Panel1" runat="server">  
                        <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label> 
                    </asp:Panel> 
                </td> 
            </tr> 
        </table> 
    </div> 
    <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server">  
        <AjaxSettings> 
            <telerik:AjaxSetting AjaxControlID="RadTreeView1">  
                <UpdatedControls> 
                    <telerik:AjaxUpdatedControl ControlID="Panel1"   
                        LoadingPanelID="RadAjaxLoadingPanel1" /> 
                </UpdatedControls> 
            </telerik:AjaxSetting> 
        </AjaxSettings> 
    </telerik:RadAjaxManager> 
    <telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" Runat="server" InitialDelayTime="20" MinDisplayTime="50"   
        height="75px" width="75px">  
        <img alt="Loading..."   
            src='<%= RadAjaxLoadingPanel.GetWebResourceUrl(Page, "Telerik.Web.UI.Skins.Default.Ajax.loading.gif") %>'   
            style="border:0px;" /> 
    </telerik:RadAjaxLoadingPanel> 
    </form> 
</body> 
</html> 
 
Default.aspx.vb:
 
Partial Class _Default  
    Inherits System.Web.UI.Page  
 
 
    Protected Sub Page_Load(ByVal sender As ObjectByVal e As System.EventArgs) Handles Me.Load  
 
    End Sub 
 
    Protected Sub RadTreeView1_NodeClick(ByVal sender As ObjectByVal e As Telerik.Web.UI.RadTreeNodeEventArgs) Handles RadTreeView1.NodeClick  
        Label1.Text = e.Node.Text  
        System.Threading.Thread.Sleep(3000)  
    End Sub 
End Class 
 
Tags
Ajax
Asked by
Marty
Top achievements
Rank 1
Answers by
Iana Tsolova
Telerik team
Marty
Top achievements
Rank 1
Tallen
Top achievements
Rank 1
David Tsao
Top achievements
Rank 1
Share this question
or