1

私のサイトには、同じ子ページを指すページがいくつかあります。同じ URL で SiteMapNode を複製できない xml サイト マップを使用しています。私の考えは、SiteMapPath コントロールに親ノードを与えて、そこからデータを入力し、現在のページの SiteMapNode を追加することでした。

他の誰かが同様のことをしなければなりませんでしたか? 私はこの記事を見てきましたhttp://msdn.microsoft.com/en-us/library/ms178425.aspx「メモリ内のサイトマップノードをプログラムで変更する」方法を説明していますが、ファイルに SiteMapNode が含まれており、次に、クエリ文字列を調べてそのノードを変更します。

ノードが存在しないか、存在する場合は、正しいパスをレンダリングできるように正しい親にコピーする必要があります。ビジュアルの場合:

Home
--My Page
----Page A
----Page B
----Page C
--My Other Page
----Page A
----Page D
--YAPage
----Page B
----Page C

私が見たいもののいくつかの例:

Home > My Page > Page A
Home > My Other Page > Page A
Home > My Page > Page B
Home > YAPage > Page B
4

1 に答える 1

1

これらは問題を解決しようとしているようです:

http://www.codeproject.com/KB/aspnet/ABetterSiteMapResolve.aspx http://netpl.blogspot.com/2008/04/sitemapresolve-and-dynamic-site-map.html

動的サイトマップの場合: http://www.codeproject.com/KB/aspnet/dynamicsitemap.aspx

複数のプロバイダーでは、代わりにこれを使用して SiteMapResolve イベントをアタッチする必要があります: (イベントが発生しない場合は、正しいプロバイダーが設定されていない可能性が最も高いです。)

SiteMap.Providers[現在のプロバイダー].SiteMapResolve += 新しい SiteMapResolveEventHandler(Provider_SiteMapResolve);

于 2009-03-27T16:50:40.553 に答える