ASP.NET站点地图显示所有节点
我有一个.sitemap文件,其中包含我要为侧边导航显示的所有节点。当我到达子级别时,我无法显示所有节点。当我访问子页面时,所有内容都消失了。换句话说,当我在homepage.aspx页面时,我的所有节点都是可见的。当我进入level1a.aspx页面时,所有节点都消失了。我没有暗号。是否有显示所有节点的设置?或者我需要编写代码来显示它们吗 以下是文件: web.configASP.NET站点地图显示所有节点,asp.net,sitemap,Asp.net,Sitemap,我有一个.sitemap文件,其中包含我要为侧边导航显示的所有节点。当我到达子级别时,我无法显示所有节点。当我访问子页面时,所有内容都消失了。换句话说,当我在homepage.aspx页面时,我的所有节点都是可见的。当我进入level1a.aspx页面时,所有节点都消失了。我没有暗号。是否有显示所有节点的设置?或者我需要编写代码来显示它们吗 以下是文件: web.config <siteMap> <providers> <add na
<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>
我的网站地图
<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>
尝试使用EnableViewState=true
<asp:Menu ID="Menu1" runat="server" DataSourceID="SiteMapDataSource1" EnableViewState="true"></asp:Menu>
我刚刚做了实验,效果很好 仔细检查所有页面是否包含对用户控件的引用 这就是我所做的 加州大学
网站地图
<?xml version="1.0" encoding="utf-8" ?>
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
<siteMapNode url="~/Default.aspx" title="Home" description="">
<siteMapNode url="~/MenuWithUC1.aspx" title="page 1" description="" />
<siteMapNode url="~/MenuWithUC2.aspx" title="page 2" description="" />
</siteMapNode>
</siteMap>
MenuWithUC1.aspx
<%@ Register Src="~/MyMenuUC.ascx" TagName="SharedMenu" TagPrefix="menu" %>
....
<menu:SharedMenu runat="server" />
<asp:Button ID="Button1" Text="post me" runat="server" />
....
MenuWithUC2.aspx
<%@ Register Src="~/MyMenuUC.ascx" TagName="SharedMenu" TagPrefix="menu" %>
....
<menu:SharedMenu runat="server" />
<asp:Button Text="post me" runat="server" />
....
每个页面上的按钮只是为了测试
菜单
控件在每个帖子上保持其状态。我将控件放在母版页上,它只对HomePage.aspx有效,但对子页无效。假定它从母版页继承控件。我在子页面中放置了另一个控件,它出现了。有没有办法只在母版页中放置控件来显示侧导航?啊!我发现了它为什么不起作用!愚蠢的错误。我在母版页的一个页面内拥有该控件,而我的子页重写了站点地图控件。不过谢谢你的帮助
<%@ Register Src="~/MyMenuUC.ascx" TagName="SharedMenu" TagPrefix="menu" %>
....
<menu:SharedMenu runat="server" />
<asp:Button Text="post me" runat="server" />