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

Примеры

В следующем примере кода показано, как получить SiteMapProviderCollection объект из SiteMap объекта и выполнить его итерацию.

Если у вас больше, чем только поставщик по умолчанию, настроенный для сайта, вы увидите каждый отображаемый поставщик. Например, если вы используете пример AccessSiteMapProvider , найденный в обзоре SiteMapProvider класса, вы увидите следующие выходные данные.

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 для отслеживания набора объектов, доступных SiteMapProvider SiteMap во время инициализации карты сайта. Однако наличие коллекции поставщиков SiteMapProvider не обязательно означает, что он используется SiteMap объектом, только то, что он доступен для использования.

SiteMapProvider При хранении SiteMapProviderCollectionName свойства в качестве ключа используется свойство.

Конструкторы

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.

Применяется к

См. также раздел