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 方法 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

适用于

另请参阅