我认为 C# ASP.NET SiteMap 在内部使用 URL 作为字典键,因为它必须始终通过 URL 查找,并强制它们是唯一的。我想使用该查找表,但我似乎无法找到它的访问权限。
通过 URL 获取特定 SiteMapNode 的最有效方法是什么?可以访问它吗?
我的用例是我想从站点地图中填充一个导航栏,从当前节点的父链中距根两深的节点开始。
我认为 C# ASP.NET SiteMap 在内部使用 URL 作为字典键,因为它必须始终通过 URL 查找,并强制它们是唯一的。我想使用该查找表,但我似乎无法找到它的访问权限。
通过 URL 获取特定 SiteMapNode 的最有效方法是什么?可以访问它吗?
我的用例是我想从站点地图中填充一个导航栏,从当前节点的父链中距根两深的节点开始。
我找到了。提供方法的是 SiteMapProvider 类,而不是我正在寻找的 SiteMap 或 SiteMapNode。请参阅http://msdn.microsoft.com/en-us/library/system.web.sitemapprovider.findsitemapnodefromkey.aspx。
我能够像这样使用它:
var node = SiteMap.Provider.FindSiteMapNodeFromKey(key);