我正在尝试在网页上添加面包屑以便于导航。为此,我使用Asp.Net的SiteMapPath控件,并且我还制作了一个breadcrumb.Sitemap文件,列出了所有页面。但是在我的母版页中实现sitemappath时,我收到了一般错误。我无法理解为什么会这样? 这是我的aspx页面的基本结构 -
<div id="menu-pt">
<div class="hm"><a href="Page1.aspx" class="active">Home</a></div>
<div id="nav">
<ul id="nav" name="nav">
<li><a href="Page2.aspx">Page2</a></li>
<div class="saparation"></div>
<li><a href="Page3.aspx">Page3</a></li>
<div class="saparation"></div>
<li> <a href="Page4.aspx">Page4</a></li>
<div class="saparation"></div>
<li><a href="#">Pages</a>
<div id ="Ul2" runat="server">
<ul id="sub-nav" >
<li><a href="Page5.aspx">Page5</a></li>
<li><a href="Page6.aspx">Page6</a></li>
<li><a href="Page7.aspx">Page7</a></li>
<li><a href="Page8.aspx">Page8</a></li>
</ul>
</div>
<div id ="Ul1" runat="server">
<ul id="sub-nav" >
<li><a href="Page9.aspx">Page9</a></li>
<li><a href="Page10.aspx">Page10</a></li>
<li><a href="Page11.aspx">Page11</a></li>
<li><a href="Page12.aspx">Page12</a></li>
<li><a href="Page13.aspx">Page13</a></li>
</ul>
</div>
</li>
</ul>
</div>
</div>
<?xml version="1.0" encoding="utf-8" ?>
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
<siteMapNode url="Page1.aspx" title="Home" description="Page1">
<siteMapNode url="Page2.aspx" title="Page2" description="Page2" />
<siteMapNode url="Page3.aspx" title="Page3" description="Page3" />
<siteMapNode url="Page4.aspx" title="Page4" description="Page4" />
<siteMapNode url="" title="Pages" description="">
<siteMapNode url="Page5.aspx" title="Page5" description="Page5" />
<siteMapNode url="Page6.aspx" title="Page6" description="Page6" />
<siteMapNode url="Page7.aspx" title="Page7" description="Page7" />
<siteMapNode url="Page8.aspx" title="Page8" description="Page8" />
<siteMapNode url="Page9.aspx" title="Page9" description="Page9" />
<siteMapNode url="Page10.aspx" title="Page10" description="Page10" />
<siteMapNode url="Page11.aspx" title="Page11" description="Page11" />
<siteMapNode url="Page12.aspx" title="Page12" description="Page12" />
<siteMapNode url="Page13.aspx" title="Page13" description="Page13" />
</siteMapNode>
</siteMapNode>
</siteMap>
此外,我在我的aspx页面上放置了一个sitemappath控件 -
<asp:SiteMapPath ID="SiteMapPath1" runat="server"></asp:SiteMapPath>
请指导我做错的地方。我阅读了一些文章,它说这个步骤足以在网站的每个页面上添加面包屑。 请指导我在哪里做错了?
答案 0 :(得分:0)
SiteMapPath
控件默认使用Web.sitemap
文件。另外,将站点地图文件放在网站的根目录中,URL属性应该相对于根目录。
您尝试查看的页面也必须包含在站点地图文件中,否则此页面上不会显示任何痕迹。
修改:: 强>
确保在主页上包含SiteMapPath
控件,以便它可用于从Page1.apsx
到Page13.aspx
的所有页面(如果它们都使用主文件)否则,您应该将SiteMapPath控件单独放在需要显示痕迹的每个页面上。
您还提到您的站点地图文件为breadcrumb.sitemap
,只是确保它应该是Web.sitemap。如果它已经是Web.sitemap,请保留它。
刚试过你的代码并且正确显示了痕迹。[左上角]。在我的例子中,SiteMapPath控件放在主文件上。