SiteMapProviderCollection 类

定义

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
继承
SiteMapProviderCollection

示例

下面的代码示例演示如何从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("&nbsp;&nbsp;&nbsp;");
        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("&nbsp;&nbsp;&nbsp;")
        Response.Write("<BR>")
    End While
End Sub ' Page_Load

</SCRIPT>

注解

SiteMapProviderCollection 类是对象的强类型 Hashtable 集合 SiteMapProvider 。 除了这两个添加方法, Add(ProviderBase) Add(SiteMapProvider)SiteMapProviderCollection 还支持 AddArray 添加类型 SiteMapProvider数组的方法。

SiteMapProviderCollection用于SiteMap跟踪站点地图初始化期间可用的SiteMap对象集SiteMapProvider。 但是,提供程序集合中的存在 SiteMapProvider 并不一定意味着对象使用 SiteMap 它,只是它可供使用。

当 a 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

适用于

另请参阅