SiteMapPath 未出现

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,这里是

vva*_*sch 6

我也遇到了这个问题。写一个非常简单的网站。

问题是不在 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