Edit this page

Site Navigation

One of the most common scenarios, in which the TreeView can be used, is navigating through pages using the TreeView control. However, due to the page redirect performed by clicking on a node, the TreeView state is lost and the current node loses its selected state.

This example shows how to overcome this limitation using the RadTreeView.FindNodeByUrl() method in conjunction with RadTreeNode.ExpandParentNodes().

Please review the code for more details.

<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<telerik:RadTreeView RenderMode="Lightweight" ID="RadTreeView1" runat="server">
    <Nodes>
        <telerik:RadTreeNode runat="server" Text="Root RadTreeNode1">
            <Nodes>
                <telerik:RadTreeNode runat="server" Text="Child 1" NavigateUrl="Default.aspx">
                </telerik:RadTreeNode>
                <telerik:RadTreeNode runat="server" Text="Child 2" NavigateUrl="Default2.aspx">
                </telerik:RadTreeNode>
            </Nodes>
        </telerik:RadTreeNode>
    </Nodes>
    <CollapseAnimation Type="OutQuint" Duration="100"></CollapseAnimation>
    <ExpandAnimation Duration="100"></ExpandAnimation>
</telerik:RadTreeView>
<asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">
</asp:ContentPlaceHolder>
</form>
    using System;
    using System.Data;
    using System.Configuration;
    using System.Collections;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;
    using Telerik.Web.UI;
    public partial class MasterPage : System.Web.UI.MasterPage
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            RadTreeNode myNode = (RadTreeNode)RadTreeView1.FindNodeByUrl(Request.Url.PathAndQuery);
            myNode.ExpandParentNodes();
            myNode.Selected = true;
        }
    }
    Imports System
    Imports System.Data
    Imports System.Configuration
    Imports System.Collections
    Imports System.Web
    Imports System.Web.Security
    Imports System.Web.UI
    Imports System.Web.UI.WebControls
    Imports System.Web.UI.WebControls.WebParts
    Imports System.Web.UI.HtmlControls
    Imports Telerik.Web.UI
        Partial Class MasterPage2
            Inherits System.Web.UI.MasterPage
            Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
                Dim myNode As RadTreeNode = DirectCast(RadTreeView1.FindNodeByUrl(Request.Url.PathAndQuery), RadTreeNode)
                myNode.ExpandParentNodes()
                myNode.Selected = True
            End Sub
        End Class