質問者
サイトマップの現在のノードを取得したい。

質問
-
neo_rb25detと申します。
よろしくお願いします。
VisualStudio2005、VB.NETでwebページを作成しています。
webページ上にはTreeViewコントロールを配置し、
SiteMapDataSourceのProviderプロパティでSiteMapProviderを設定して
サイトマップデータをバインドしています。
*Web.Config内の<providers>でサイトマップファイルを指定しています。
*サイトマップを複数使用したいため、Web.Sitemapは使用していません。
現在のページのサイトマップノードを取得するには
通常は「SiteMap.CurrentNode」で取得できると思うのですが、
これだと既定のサイトマップファイル「Web.Sitemap」を探してしまうため、
エラーとなってしまいます。
ライブラリやwebページを検索して
いいプロパティが無いか探したのですが見つかりませんでした。
Web.Sitemapを使用しない場合の現在のノードの取得方法を教えてください。
よろしくお願いします。
--
最終的にやりたいことは、
webページ内のハイパーリンクなどで前/次のノードへのリンクを張ることです。
すべての返信
-
>ボタンをクリックしたら間違いなくバインドが発生します???
>違うような気がするけど。。。
かなり、安易な発想なのですが、
一度、エラーを出さずにページを全て読み込めばバインドできますので、
その後でボタンをクリックすればすでにバインドされていると考えました。
で、そもそもなのですが、
(自分ではなにもせずに)「SiteMap.CurrentNode」と記述して
「web.sitemap」からノードを取得できるということは、
「SiteMap」は勝手にインスタンス化され(??)
サイトマップデータも勝手にバインドされているのでしょうか??
そう考えると、何らかの方法で「SiteMap」とは別に自分でインスタンスを作成し、
SiteMapDataSourceを割り当てられないものでしょうか…。