2009-02-10 37 views
0

出於某種原因,在我的頁面上我的SiteMapPath消失了。SiteMapPath在子頁面上消失

網站結構:

WebApp 
-Default.aspx 
-> Reports\ 
----Default.aspx 
----MyReport.aspx 

Web.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> 

,當我的報告頁面的概述頁面而不是MyReport頁上的SiteMapPath顯示。通過綁定到樹形視圖的站點地圖,我可以正確地看到所有節點。

作品 - 顯示我的MyReport頁

<asp:TreeView ID="TreeView1" runat="Server" DataSourceID="SitePathDataSource"> 
</asp:TreeView> 

上消失MyReport頁面,但顯示在所有其他

<asp:SiteMapPath ID="SiteMapPath1" runat="server" DataSourceID="SitePathDataSource"> 
</asp:SiteMapPath> 
+0

。你說一個樹形視圖工作正常? – bendewey 2009-02-10 21:53:34

+0

SiteMapPath控件 – 2009-02-10 22:06:52

回答

0

我不太這方面的專家。我只是在我的網頁上測試它,它運行良好。我在做什麼和你的唯一區別是我沒有在父節點上指定一個文件名。雖然我偶然發現了一個,因爲我的站點地圖中沒有兩次相同的路徑。

<?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> 
0

當控件不顯示時,瀏覽器中的URL是什麼?我敢打賭,你有一個查詢字符串值或與Reports/Myreport.aspx不匹配的東西。如果頁面路徑與網站地圖節點中的項目完全不匹配,則不會顯示。在

SiteMapPath1.SiteMapProvider = "DefaultSiteMap" 

頁的Page_Load中

0

指定站點地圖提供者內您正在使用什麼類型的控件來顯示地圖的web.config

<siteMap defaultProvider="DefaultSiteMap" enabled="true"> 
<providers> 
<add name="DefaultSiteMap" type="System.Web.XmlSiteMapProvider" siteMapFile="~\SiteMaps 
\Default.sitemap" /> 
</providers>