SiteMap.Providers SiteMap.Providers SiteMap.Providers SiteMap.Providers Property

Определение

Возвращает доступную только для чтения коллекцию именованных объектов SiteMapProvider, которые доступны в классе SiteMap.Gets a read-only collection of named SiteMapProvider objects that are available to the SiteMap class.

public:
 static property System::Web::SiteMapProviderCollection ^ Providers { System::Web::SiteMapProviderCollection ^ get(); };
public static System.Web.SiteMapProviderCollection Providers { get; }
member this.Providers : System.Web.SiteMapProviderCollection
Public Shared ReadOnly Property Providers As SiteMapProviderCollection

Значение свойства

Исключения

Функция карты веб-узла не разрешена.The site map feature is not enabled.

Используемый по умолчанию поставщик, указанный в конфигурации, не существует.The default provider specified in the configuration does not exist.

Данное средство поддерживается только при выполнении с низким уровнем доверия или более высоким уровнем доверия.The feature is supported only when running in Low trust or higher.

Примеры

В следующем примере кода показано, как получить Providers коллекцию SiteMap из класса, а затем выполнить итерацию по нему.The following code example demonstrates how to retrieve the Providers collection from the SiteMap class, and then iterate through it.

<%@ 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>

Если для сайта настроено больше, чем просто поставщик по умолчанию, вы увидите, что каждый поставщик отображается.If you have more than just the default provider configured for your site, you will see each provider displayed. Например, если вы используете образец поставщика Microsoft Access (см. раздел StaticSiteMapProvider), вы увидите следующие выходные данные:For example, if you are using the sample Microsoft Access provider (see StaticSiteMapProvider), you see the following output:

XmlSiteMapProvider   System.Web.XmlSiteMapProvider  
AccessSiteMapProvider   Samples.AspNet.AccessSiteMapProvider  

Комментарии

Поставщики карт узла, перечисленные в Providers коллекции, являются теми, которые указаны в иерархии конфигурации для SiteMap инициализации класса.The site map providers that are listed in the Providers collection are those that are specified in the configuration hierarchy to initialize the SiteMap class. Во время инициализации гарантируется использование Provider Providers только поставщика по умолчанию (идентифицируемого свойством); присутствие поставщика в коллекции означает, что он был указан в конфигурации и был SiteMap доступно во время инициализации.Only the default provider (identified by the Provider property) is guaranteed to be used by the SiteMap during initialization; the presence of a provider in the Providers collection means that it was specified in the configuration and was available during initialization.

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

Дополнительно