XmlSiteMapProviderについて

上の方にも書いてありますが、MasterPageが使えないと思われていたエラーは以下のものです。

XmlSiteMapProviderに必要なファイルweb.sitemapが存在しません。


ん????web.sitemapが無いのか。ほむほむ。ところでXmlSiteMapProviderって何???
とりあえずぐぐってみました。
http://www.google.com/search?hl=ja&lr=lang_ja&ie=UTF-8&oe=UTF-8&q=XmlSiteMapProvider&num=50
一件かよ!!!!調べ方が悪いんですかね・・・?
まぁ何はともあれ覗いてみます。

日本マイクロソフト│Microsoft Japan: ソフトウェア, オンライン, スマートフォン, サポート, セキュリティ, ダウンロード, アップデート, デバイスとサービス
TreeView コントロールで SiteMapDataSource を使用する利点は、Web サイトのナビゲーション情報を中央の 1 か所でメンテナンスできることにあります。SiteMapDataSource コントロールのデフォルトのプロバイダは、XmlSiteMapProvider です。

なるほど。XmlSiteMapProviderはSiteMapDataSourceのデフォルトプロバイダなんですね。TreeViewに使うDataSourceとしてWeb.Sitemapを設定する時に使われるものでしょう。
てなわけでWeb.Sitemapを作ります。



上のサイトにあるリスト4がそうですね。要素の中にはurl="リンク先のアドレス"や title="表示名"やdescription="ToolTipに表示する説明文"やroles="ロール属性"等を設定する事が出来ます。



Web.Sitemapを作成したらそれをTreeViewのDataSourceIDプロパティに設定します。新しいデータソース>サイトマップと選択し名前を決めた後にOKを押せば設定完了です。実行するとTreeViewに書き込んだサイトマップが取り込まれていて、Node内にurlが設定されていれば、マウス押下時にurl先に移動する事ができます。


凄く面白いので興味がある方は是非試してみてください。


尚、本日詳しく調べれませんでしたが、SiteMapPathコントロールは貼り付けただけで自動的にサイトマップを読み込んでくれているのか移動先までサイトマップを表示してくれました。
明日はサイトマップを調べつつログイン画面等の実装(Webサイト管理ツール)等やってみたいと思います。