我已经添加了一个Web.sitemap,并在其中添加了siteMapNode。此外,我已经将asp:SiteMapPath控件放在网页上,但在运行时什么也不显示。
下面是my 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>SiteMapPath不会自动控制拾取Web.sitemap吗?或其他任何东西,如果留下?如果是这样,Web.sitemap将被选中,here it is。
发布于 2011-01-17 22:09:36
您是否在Web.config中配置了XML提供程序?
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.web>
<siteMap defaultProvider="XmlSiteMapProvider" enabled="true">
<providers>
<clear />
<add name="XmlSiteMapProvider" type="System.Web.XmlSiteMapProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" siteMapFile="Web.sitemap" />
</providers>
</siteMap>
</system.web>
</configuration>还要设置控件:
<asp:SiteMapPath runat="server" RenderCurrentNodeAsLink="true" SkipLinkText="">
...
</asp:SiteMapPath>发布于 2014-01-07 21:03:50
我也遇到过这个问题。写一个非常简单的网站。
问题是不在Web.sitemap中的页面不包括在面包屑中。请参阅http://msdn.microsoft.com/en-us/library/ms178418(v=vs.100).aspx上的第一个注释。我列出了扩展名为.aspx的Web.sitemap中的所有页面。例如:
<siteMapNode url="~/Contact.aspx" title="Contact" description="Contact information" />当我在浏览器中访问该页面时,网址被“清理”为http://localhost/Contact。也就是说,不使用.aspx扩展。我不知道哪个模块负责这件事。当我通过删除.aspx来更改Web.sitemap中的条目时,页面上显示了面包屑。因此,这行代码看起来像这样:
<siteMapNode url="~/Contact" title="Contact" description="Contact information" />编辑:负责URL重写的包是FriendlyUrls包(http://www.nuget.org/packages/Microsoft.AspNet.FriendlyUrls)
https://stackoverflow.com/questions/4713949
复制相似问题