0

何らかの理由で、私のページで SiteMapPath が消えます。

サイト構造:

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

Web.サイトマップ

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

SiteMapPath は、レポート ページの概要ページでは表示されますが、MyReport ページでは表示されません。ツリービューにバインドされたサイトマップを使用すると、すべてのノードが正しく表示されます。

動作 - MyReport ページに表示されます

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

MyReport ページでは消えますが、他のすべてのページでは表示されます

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

3 に答える 3

0

私はこれについて正確に専門家ではありません。自分のページでテストしたところ、うまくいきました。私がやっていることとあなたのものとの唯一の違いは、親ノードでファイル名を指定していないことです。サイトマップに同じパスを 2 回含めることはできなかったので、そのパスに出くわしましたが。

<?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-02-10T22:17:45.583 に答える
0

ページの 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>

于 2014-10-21T21:34:32.920 に答える
0

コントロールが表示されていないときのブラウザの URL は? レポート/Myreport.aspx と一致しないクエリ文字列値または何かがあるに違いありません。ページのパスがサイトマップ ノード内の項目と正確に一致しない場合、その項目は表示されません。

于 2009-03-25T20:06:40.940 に答える