• 締切済み

ASP.NET SiteMapPathコントロールで複数の階層

ASP.NET2.0で、SiteMapPathコントロールについての質問です。 ひとつのページが複数のページから遷移される場合に、サイトマップパスコントロールを使用して、階層表示を変えたいのですが、 以下のようにWeb.sitemapを書いたらUrlは一意でなければならないというエラーが発生します。 <siteMapNode url="Default.aspx" title="TOP" description="TOP">  <siteMapNode url="Default2.aspx" title="page2" description="page2">   <siteMapNode url="Default3.aspx" title="page3" description="page3" />  </siteMapNode>  <siteMapNode url="Default3.aspx" title="page3" description="page3" /> </siteMapNode> 何か良い方法はないでしょうか?

みんなの回答

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.3

そうですね 自作のユーザーコントロールなどで対処になるでしょう でも、遷移データの管理をどのようにするかが問題になりそうですね XML形式でViueStateに保存しながらでしょうか 私もやったことが無いので見当が付きません m(__)m Refererなどをコレクションするのかなぁ

oregonman
質問者

お礼

ご回答ありがとうございました。 やはり自作するしかなさそうですね。 ちょっと考えてみます。 もしできたらまた書き込みます。

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.2

siteMapに遷移経路を表示する機能はないと思います あくまで Web.sitemapに書かれたデータを元にリンクなどを配置する機能のように思います そうなると XMLで表現できないノードは表示不可能ではないかと思います ノードのキーが URLのようです このキーの重複をXMLが認めないので無理だと思います

oregonman
質問者

補足

なるほど。やはりそうですか。 そうなるとASP.NETの機能ではできなさそうですね。 遷移経路を表示する機能は自分で作成するしかないんですかね・・・

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

サイトマップでどのように表示させたいのでしょう 複数表示させたい複数のノードの片方をダミーにして Response.Redirectなどで誘導するってのはダメでしょうか …

oregonman
質問者

補足

上記のXmlの例ですと、TOPページからpage2へ行き、page2からpage3へ移動した場合には、 TOP>>page2>>page3 と表示したいです。 そして、TOPページからpage3へ移動した場合には、 TOP>>page3 と表示したいのです。 これは可能なのでしょうか?