Поделиться через


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 и Add(ProviderBase)Add(SiteMapProvider)класс SiteMapProviderCollection поддерживает AddArray метод для добавления массива типа SiteMapProvider.

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

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

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