Как сказал Philb28, вы можете использовать SiteMapProvider
для обработки этого. Я использовал этот точный метод в старом проекте. Если у вас есть относительно статичный набор предметов для TreeView
, вы можете сделать следующее:
- Добавьте файл
.sitemap
в ваш проект.
- Определите
<sitemap>
и <provider>
разделы в вашем Web.config
- Добавление элементов карты сайта в раздел провайдера.
Вот как выглядит один из моих разделов Web.config:
<siteMap>
<providers>
<add name="Administrators" description="Reads .sitemap XML files." type="System.Web.XmlSiteMapProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" siteMapFile="Common/Sitemaps/Admins.sitemap"/>
<add name="Users" description="Reads .sitemap XML files." type="System.Web.XmlSiteMapProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" siteMapFile="Common/Sitemaps/Users.sitemap"/>
</providers>
</siteMap>
Оттуда объявите SiteMapDataSource
, установите для его свойства SiteMapProvider
свойство name одного из элементов вашего провайдера и привяжите его. Наконец, установите TreeView.DataSource
на SiteMapDataSource
и также привязайте TreeView.