ページの私のフォルダー階層は次のとおりです (それらはすべて同じフォルダーにあります)。
Site.Master
Default.aspx
find_provider.aspx
provider.aspx
私はWeb.sitemap
ページを設定しました:
<?xml version="1.0" encoding="utf-8" ?>
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
<siteMapNode url="~/Default.aspx" title="Home" description="Homepage">
<siteMapNode url="~/find_provider.aspx" title="Provider" description="Search for provider">
<siteMapNode url="~/provider.aspx" title="Profile" description="Shows each provider profile" />
</siteMapNode>
</siteMapNode>
</siteMap>
MasterPage で呼び出しています:
<div id="navigation">
<ul>
<li><asp:HyperLink runat="server" ID="lnkHome" NavigateUrl="~/Default.aspx">Home</asp:HyperLink></li>
<asp:Repeater runat="server" ID="menu" DataSourceID="SiteMapDataSource1">
<ItemTemplate>
<li>
<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='<%# Eval("Url") %>'><%# Eval("Title") %></asp:HyperLink>
</li>
</ItemTemplate>
</asp:Repeater>
</ul>
<asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" ShowStartingNode="false" />
</div>
Default.aspx
私のランディングページもそうです。ユーザーは をクリックしfind_provider.aspx
て、選択したプロバイダーを検索できます。各プロバイダの検索結果について、ユーザーは PROFILE リンクをクリックして、ページである個々のプロバイダの情報を表示できprovider.aspx
ます。
そう:
- ホームページにいる場合、パンくずリストは次のようになります。
Home
- プロバイダーの検索ページにいる場合、パンくずリストは次のようになります。
Home Provider
- プロフィール ページを表示している場合、パンくずリストは次のようになります。
Home Provider Profile
代わりに、自分のページに次のように表示されます (現在のページに関係なく)。
サイトノードとサブサイトノードごとにブレッドクラムが表示されるようにコードを修正してください。
私が達成したいことのサンプル:
HTML:
<div class="bcHolder brClear"> <!-- BC MAIN -->
<div class="innerBreadCrumb"> <!-- INNER BC -->
<ul id="breadcrumb">
<li><a href="default.aspx" title="Home"><img src="theImages/homeIcon.gif" alt="Home" title="Home" class="home" /></a></li>
<li id="bc_fp"><a href="find_provider.aspx" title="Find a Provider">Find a Provider</a></li>
<!--<li>{ON THE CURRENT PAGE TEXT/URL</li>-->
</ul>
</div> <!-- INNER BC -->
</div> <!-- BC MAIN -->
出力: