Cip*_*her 3 .net sitemap asp.net
我添加了一个 Web.sitemap 并将 siteMapNode 添加到它。此外,我已将asp:SiteMapPath控件放在网页上,但在运行时没有显示任何内容。
这是我的 SiteMapPath 控件的代码:
<asp:SiteMapPath ID="SiteMapPath1" runat="server" Font-Names="Verdana" Font-Size="0.8em">
<CurrentNodeStyle ForeColor="#333333" />
<NodeStyle Font-Bold="True" ForeColor="#666666" />
<PathSeparatorStyle Font-Bold="True" ForeColor="#1C5E55" />
<RootNodeStyle Font-Bold="True" ForeColor="#1C5E55" />
</asp:SiteMapPath>
Run Code Online (Sandbox Code Playgroud)
SiteMapPath 不自动控制拾取 Web.sitemap 吗?或其他任何东西如果离开?如果要检查 Web.sitemap,这里是。
我也遇到了这个问题。写一个非常简单的网站。
问题是不在 Web.sitemap 中的页面不包含在面包屑中。请参阅http://msdn.microsoft.com/en-us/library/ms178418(v=vs.100).aspx上的第一个注释。我已经在 Web.sitemap 中列出了所有页面,但带有 .aspx 扩展名。例如:
<siteMapNode url="~/Contact.aspx" title="Contact" description="Contact information" />
Run Code Online (Sandbox Code Playgroud)
当我在浏览器中访问该页面时,该 URL 被“清除”为http://localhost/Contact. 意思是,没有 .aspx 扩展名。我不知道哪个模块对此负责。当我通过删除 .aspx 更改 Web.sitemap 中的条目时,面包屑出现在页面上。所以,该行看起来像:
<siteMapNode url="~/Contact" title="Contact" description="Contact information" />
Run Code Online (Sandbox Code Playgroud)
编辑:负责 URL 重写的包是 FriendlyUrls 包(http://www.nuget.org/packages/Microsoft.AspNet.FriendlyUrls)