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。 |