SiteMap.Provider 属性

定义

获取当前站点地图的默认 SiteMapProvider 对象。

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

属性值

SiteMap 的默认站点地图提供程序。

例外

未启用站点地图功能。

配置中指定的默认提供程序不存在。

只有在低信任或以上设置的情况下运行时,才支持此功能。

示例

下面的代码示例演示如何使用静态Provider属性访问站点的默认SiteMapProvider对象。

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

注解

默认情况下, XmlSiteMapProvider 使用 对象,并从位于网站根目录中的 Web.sitemap 文件加载站点导航数据。 这在管理Web.config文件的站点导航配置和站点地图配置部分的管理类中进行了标识。 默认情况下,它是 类的 XmlSiteMapProvider 实例,该类使用 Web.sitemap 文件作为其持久存储。 但是,可以通过编写实现抽象 SiteMapProvider 类的类来实现自己的站点地图存储和配置方案。 有关编写自己的提供程序的详细信息,请参阅 SiteMapProvider

适用于

另请参阅