ASP.NET 站点导航提供程序
更新:2007 年 11 月
默认情况下,ASP.NET 站点导航使用一个名为 Web.sitemap 的 XML 文件,该文件描述了您的网站的层次结构。但是,您可能希望用另一种方式描述有关您的站点的信息,如使用数据库或使用与 Web.sitemap 文件布局不同的站点地图文件。
ASP.NET 如何使用站点导航提供程序
与 ASP.NET 成员资格、ASP.NET Web 部件个性化设置和其他 ASP.NET 功能类似,ASP.NET 站点导航使用提供程序与数据存储区进行交互。默认提供程序读取 Web.sitemap 文件并直接从该文件创建 SiteMap 对象。站点导航控件使用 SiteMap 对象向客户端显示导航结构,这些导航控件包括 TreeView 控件、SiteMapPath 控件或自定义控件。
如果要将站点地图信息存储在站点地图文件以外的位置,您可以创建自己的站点地图提供程序并对您的应用程序进行配置以调用自定义提供程序。站点地图提供程序在 Web.config 文件中配置。当应用程序运行时,ASP.NET 会调用您的提供程序,后者可以根据需要检索站点地图信息。然后,ASP.NET 根据您的提供程序返回的信息,相应地创建和填充 SiteMapNode 对象。通过使用 SiteMap 类,可以以编程方式访问这些对象。有关更多信息,请参见实现 ASP.NET 站点地图提供程序。
安全说明: |
---|
实现自定义的站点地图提供程序时,如果存储站点地图数据的文件的扩展名不是 .sitemap,则会有潜在安全风险。默认情况下,ASP.NET 配置为阻止客户端下载具有已知文件扩展名(如 .sitemap)的文件。为帮助保护您的数据,可将文件扩展名不是 .sitemap 的所有自定义站点地图数据文件放入 App_Data 文件夹中。有关更多信息,请参见保证 ASP.NET 站点导航的安全。 |