由于某种原因,我的SiteMapPath在我的页面上消失了。
站点结构:
WebApp
-Default.aspx
-> Reports\
----Default.aspx
----MyReport.aspxWeb.sitemap
<?xml version="1.0" encoding="utf-8" ?>
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
<siteMapNode url="~/Default.aspx" title="Overview" description="Overview">
<siteMapNode url="~/Reports/Default.aspx" title="Reports" description="Reports" >
<siteMapNode url="~/Reports/MyReport.aspx" title="MyReport" description="MyReport" />
</siteMapNode>
</siteMapNode>
</siteMap>当我在reports页面的概述页面上而不是MyReport页面上时,将显示SiteMapPath。将站点地图绑定到树视图后,我可以正确地看到所有节点。
Works -在MyReport页面上显示我
<asp:TreeView ID="TreeView1" runat="Server" DataSourceID="SitePathDataSource">
</asp:TreeView>在MyReport页面上消失,但在所有其他页面上可见
<asp:SiteMapPath ID="SiteMapPath1" runat="server" DataSourceID="SitePathDataSource">
</asp:SiteMapPath>发布于 2009-02-10 22:17:46
我不是这方面的专家。我刚刚在我的页面上测试了它,它工作得很好。我所做的与您所做的唯一不同之处在于,我没有在父节点上指定文件名。虽然我是偶然发现的,因为我不可能在我的网站地图中有两次相同的路径。
<?xml version="1.0" encoding="utf-8" ?>
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
<siteMapNode url="~/Default.aspx" title="Overview" description="Overview">
<siteMapNode url="~/Reports/" title="Reports" description="Reports" >
<siteMapNode url="~/Reports/Default.aspx" title="Reports Home" description="Home" />
<siteMapNode url="~/Reports/MyReport.aspx" title="MyReport" description="MyReport" />
</siteMapNode>
</siteMapNode>
</siteMap>发布于 2009-03-25 20:06:41
当控件未显示时,浏览器中的URL是什么?我敢打赌您有一个querystring值或一些与Reports/Myreport.aspx不匹配的值。如果页面的路径与sitemapnode中的项目不完全匹配,它将不会显示。
发布于 2014-10-22 05:34:33
在页面的page_load中分配站点地图提供程序
SiteMapPath1.SiteMapProvider = "DefaultSiteMap"web.config内幕
<siteMap defaultProvider="DefaultSiteMap" enabled="true">
<providers>
<add name="DefaultSiteMap" type="System.Web.XmlSiteMapProvider" siteMapFile="~\SiteMaps
\Default.sitemap" />
</providers>
https://stackoverflow.com/questions/534363
复制相似问题