New to Telerik UI for ASP.NET AJAXStart a free 30-day trial

Implementing Show Path and BreadCrumb

Q: How can I use the SiteMap as a BreadCrumb with a RadTabStrip? Meaning when clicking on a Root Tab or a Child Tab will show the current path where the user has clicked as demonstrated in the image below:

RadTabStrip BreadCrumb

A: Just like with the RadMenu, using the RadTabStrip one easily can implement the BreadCrumb functionality using the code below:

ASPNET
<telerik:RadSiteMap ID="BreadCrumbSiteMap" runat="server" DataTextField="Text" DataNavigateUrlField="NavigateUrl">
	<DefaultLevelSettings ListLayout-RepeatDirection="Horizontal" SeparatorText="/" Layout="Flow" />
</telerik:RadSiteMap>
<telerik:RadTabStrip RenderMode="Lightweight" ID="RadTabStrip1" runat="server">
	<Tabs>
		<telerik:RadTab runat="server" Text="Root RadTab1" NavigateUrl="BreadCrumbMenuTabstrip.aspx?Page=Root RadTab1">
		</telerik:RadTab>
		<telerik:RadTab runat="server" Text="Root RadTab2" Selected="true" NavigateUrl="BreadCrumbMenuTabstrip.aspx?Page=Root RadTab2">
			<Tabs>
				<telerik:RadTab runat="server" Text="Child RadTab1" NavigateUrl="BreadCrumbMenuTabstrip.aspx?Page=Child RadTab1">
				</telerik:RadTab>
				<telerik:RadTab runat="server" Selected="true" Text="Child RadTab2" NavigateUrl="BreadCrumbMenuTabstrip.aspx?Page=Child RadTab2">
				</telerik:RadTab>
				<telerik:RadTab runat="server" Text="Child RadTab3" NavigateUrl="BreadCrumbMenuTabstrip.aspx?Page=Child RadTab3">
				</telerik:RadTab>
				<telerik:RadTab runat="server" Text="Child RadTab4" NavigateUrl="BreadCrumbMenuTabstrip.aspx?Page=Child RadTab4">
				</telerik:RadTab>
			</Tabs>
		</telerik:RadTab>
		<telerik:RadTab runat="server" Text="Root RadTab3" NavigateUrl="BreadCrumbMenuTabstrip.aspx?Page=Root RadTab3">
		</telerik:RadTab>
		<telerik:RadTab runat="server" Text="Root RadTab4" NavigateUrl="BreadCrumbMenuTabstrip.aspx?Page=Root RadTab4">
		</telerik:RadTab>
	</Tabs>
</telerik:RadTabStrip>
C#
protected void Page_Load(object sender, EventArgs e)
{
	RadTab currentTab = RadTabStrip1.FindTabByUrl(Request.Url.PathAndQuery);
	if (currentTab != null)
	{
		DataBindBreadCrumbSiteMap(currentTab);
		TabHighLightTab(currentTab);
	}
	else { }
}

private void TabHighLightTab(RadTab tab)
{
	tab.Selected = true;
	if (tab.Owner.GetType().FullName == "Telerik.Web.UI.RadTab")
	{
		TabHighLightTab((tab.Owner as RadTab));
	}
}

private void DataBindBreadCrumbSiteMap(RadTab currentTab)
{
	List<RadTab> breadCrumbPath = new List<RadTab>();
	while (currentTab != null)
	{
		breadCrumbPath.Insert(0, currentTab);
		currentTab = currentTab.Owner as RadTab;
	}
	BreadCrumbSiteMap.DataSource = breadCrumbPath;
	BreadCrumbSiteMap.DataBind();
}	
Not finding the help you need?
Contact Support