我有一个.sitemap文件,其中包含我想为我的侧面导航显示的所有节点。当我到达子级别时,我无法显示所有节点。当我访问子页面时,一切都消失了。换句话说,当我在homepage.aspx页面中时,所有节点都可见。当我进入level1a.aspx页面时,所有节点都消失了。我没有背后的代码。是否有显示所有节点的设置?或者我需要编写代码来显示它们全部?ASP.NET SiteMap显示所有节点
以下是文件: 的web.config
<siteMap>
<providers>
<add name="SiteMap" type="System.Web.XmlSiteMapProvider" siteMapFile="~/my.sitemap" />
</providers>
</siteMap>
control.ascx
<asp:SiteMapDataSource ID="SiteMapDataSource1" SiteMapProvider="SiteMap" runat="server" />
<asp:Menu ID="Menu1" runat="server" DataSourceID="SiteMapDataSource1"></asp:Menu>
my.sitemap
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
<siteMapNode url="/HomePage.aspx" title="Home Page" description="">
<siteMapNode url="/level1.aspx" title="Level 1" description="">
<siteMapNode url="/level1a.aspx" title="Level 1 A" description="" />
<siteMapNode url="/level1b.aspx" title="Level 1 B" description="" />
</siteMapNode>
</siteMapNode>
</siteMap>
嗯奇怪的。我将该控件放在主页上,它只适用于HomePage.aspx,但不适用于子页面。这是假设从母版页继承控件。我把另一个控件放在子页面中,它就会出现。任何方式显示侧导航只有控制器放在MasterPage内? – Anna
啊!我发现它为什么不起作用!愚蠢的错误。我在我的母版页的 asp:Content>中控制了内容,并且我的子页面 asp:Content>覆盖了站点地图控件。感谢您的帮助,虽然= D –
Anna