SiteMapProviderCollection 类   
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
由 SiteMap 类用于跟踪在站点地图初始化期间对 SiteMapProvider 可用的 SiteMap 对象集。 此类不能被继承。
public ref class SiteMapProviderCollection sealed : System::Configuration::Provider::ProviderCollection
	public sealed class SiteMapProviderCollection : System.Configuration.Provider.ProviderCollection
	type SiteMapProviderCollection = class
    inherit ProviderCollection
	Public NotInheritable Class SiteMapProviderCollection
Inherits ProviderCollection
		- 继承
 
示例
下面的代码示例演示如何从 SiteMap 对象检索SiteMapProviderCollection对象并循环访问它。
如果为站点配置了多个默认提供程序,则会看到显示的每个提供程序。 例如,如果使用类概述中找到SiteMapProvider的示例AccessSiteMapProvider,将看到以下输出。
XmlSiteMapProvider   System.Web.XmlSiteMapProvider  
AccessSiteMapProvider   Samples.AspNet.Controls.AccessSiteMapProvider  
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<SCRIPT runat="server">
private void Page_Load(object sender, System.EventArgs e)
{
    // Navigate the SiteMap built by the default SiteMapProvider.
    Response.Write(SiteMap.RootNode.ToString() + "<BR>");
    Response.Write(SiteMap.RootNode.Url + "<BR>");
    Response.Write(SiteMap.RootNode.Title + "<BR>");
    foreach (SiteMapNode sitemapnode in SiteMap.RootNode.ChildNodes)
    {
        // Iterate through the ChildNodes SiteMapNodesCollection
        // maintained by the RootNode.
        Response.Write(sitemapnode.Url + "<BR>" );
    }
    IEnumerator providers = SiteMap.Providers.GetEnumerator();
    while (providers.MoveNext())
    {
        Response.Write(providers.Current);
        Response.Write("   ");
        Response.Write("<BR>");
    }
}
</SCRIPT>
<%@ Page Language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<SCRIPT runat="server">
Private Sub Page_Load(Sender As Object, E As EventArgs)
    ' Navigate the SiteMap built by the default SiteMapProvider.
    Response.Write(SiteMap.RootNode.ToString() & "<BR>")
    Response.Write(SiteMap.RootNode.Url & "<BR>")
    Response.Write(SiteMap.RootNode.Title & "<BR>")
    Dim sitemapnode As SiteMapNode
    For Each sitemapnode In SiteMap.RootNode.ChildNodes
        ' Iterate through the ChildNodes SiteMapNodesCollection
        ' maintained by the RootNode.
        Response.Write(sitemapnode.Url & "<BR>" )
    Next
    Dim providers As IDictionaryEnumerator = SiteMap.Providers.GetEnumerator()
    While (providers.MoveNext())
        Response.Write(providers.Current)
        Response.Write("   ")
        Response.Write("<BR>")
    End While
End Sub ' Page_Load
</SCRIPT>
	注解
类 SiteMapProviderCollection 是对象的强类型 Hashtable 集合 SiteMapProvider 。 除了两个 add 方法 Add(ProviderBase) 和 Add(SiteMapProvider), SiteMapProviderCollection 类还支持 AddArray 方法添加 类型的 SiteMapProvider数组。
SiteMapProviderCollection类使用 SiteMap 来跟踪在站点地图初始化期间可用于 SiteMap 的对象集SiteMapProvider。 但是,提供程序集合中存在 并不 SiteMapProvider 一定意味着它由 SiteMap 对象使用,只是它可供使用。
SiteMapProvider在 中SiteMapProviderCollection存储 时, Name 属性用作键。
构造函数
| SiteMapProviderCollection() | 
		 初始化 SiteMapProviderCollection 类的新实例。  | 
        	
属性
| Count | 
		 获取集合中提供程序的数目。 (继承自 ProviderCollection) | 
        	
| IsSynchronized | 
		 获取一个值,该值指示对集合的访问是否为同步的(线程安全)。 (继承自 ProviderCollection) | 
        	
| Item[String] | 
		 从提供程序集合获取具有特定名称的 SiteMapProvider 对象。  | 
        	
| SyncRoot | 
		 获取当前对象。 (继承自 ProviderCollection) | 
        	
方法
| Add(ProviderBase) | 
		 使用 SiteMapProvider 属性作为键向提供程序集合添加一个 Name。  | 
        	
| Add(SiteMapProvider) | 
		 使用 SiteMapProvider 属性作为键向提供程序集合添加一个 Name 对象。  | 
        	
| AddArray(SiteMapProvider[]) | 
		 使用 SiteMapProvider 属性作为键将 Name 对象的数组添加到提供程序集合中。  | 
        	
| Clear() | 
		 从集合中移除所有项。 (继承自 ProviderCollection) | 
        	
| CopyTo(ProviderBase[], Int32) | 
		 从指定索引处开始,将集合中的内容复制到给定数组。 (继承自 ProviderCollection) | 
        	
| Equals(Object) | 
		 确定指定对象是否等于当前对象。 (继承自 Object) | 
        	
| GetEnumerator() | 
		 返回一个对象,该对象实现 IEnumerator 接口以循环访问集合。 (继承自 ProviderCollection) | 
        	
| GetHashCode() | 
		 作为默认哈希函数。 (继承自 Object) | 
        	
| GetType() | 
		 获取当前实例的 Type。 (继承自 Object) | 
        	
| MemberwiseClone() | 
		 创建当前 Object 的浅表副本。 (继承自 Object) | 
        	
| Remove(String) | 
		 从集合中移除提供程序。 (继承自 ProviderCollection) | 
        	
| SetReadOnly() | 
		 将集合设置为只读。 (继承自 ProviderCollection) | 
        	
| ToString() | 
		 返回表示当前对象的字符串。 (继承自 Object) | 
        	
显式接口实现
| ICollection.CopyTo(Array, Int32) | 
		 将 ProviderCollection 的元素复制到一个数组中从特定的数组索引开始的位置。 (继承自 ProviderCollection) | 
        	
扩展方法
| Cast<TResult>(IEnumerable) | 
		 将 IEnumerable 的元素强制转换为指定的类型。  | 
        	
| OfType<TResult>(IEnumerable) | 
		 根据指定类型筛选 IEnumerable 的元素。  | 
        	
| AsParallel(IEnumerable) | 
		 启用查询的并行化。  | 
        	
| AsQueryable(IEnumerable) | 
		 将 IEnumerable 转换为 IQueryable。  |