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


SiteMapProviderCollection Класс

Определение

Используется классом SiteMap для отслеживания набора объектов, доступных SiteMapProviderSiteMap во время инициализации карты сайта. Этот класс не может быть унаследован.

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

Методы расширения

Имя Описание
AsParallel(IEnumerable)

Включает параллелизацию запроса.

AsQueryable(IEnumerable)

Преобразует IEnumerable в IQueryable.

Cast<TResult>(IEnumerable)

Приведение элементов IEnumerable к указанному типу.

OfType<TResult>(IEnumerable)

Фильтрует элементы IEnumerable на основе указанного типа.

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

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