SiteMapProvider.RootProvider Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Obtiene el objeto SiteMapProvider raíz de la jerarquía de proveedores actual.
public:
virtual property System::Web::SiteMapProvider ^ RootProvider { System::Web::SiteMapProvider ^ get(); };
public virtual System.Web.SiteMapProvider RootProvider { get; }
member this.RootProvider : System.Web.SiteMapProvider
Public Overridable ReadOnly Property RootProvider As SiteMapProvider
Valor de propiedad
SiteMapProvider que es el proveedor de nivel superior del mapa del sitio en la jerarquía de proveedores a la que pertenece el proveedor actual.
Excepciones
Hay una referencia circular al proveedor del mapa del sitio actual.
Ejemplos
En el ejemplo de código siguiente se muestra cómo implementar la RootProvider propiedad en una clase que implementa la clase abstracta SiteMapProvider . SimpleTextSiteMapProvider
Usa una lógica sencilla para determinar si el proveedor actual forma parte de una jerarquía de proveedores. Si el proveedor forma parte de una jerarquía, usa la RootProvider propiedad para el proveedor primario como su propio. Si el proveedor no forma parte de una jerarquía, el proveedor es su propio proveedor raíz.
Este ejemplo de código forma parte de un ejemplo más grande proporcionado para la SiteMapProvider clase .
// Implement the ParentProvider property.
public override SiteMapProvider ParentProvider
{
get
{
return parentSiteMapProvider;
}
set
{
parentSiteMapProvider = value;
}
}
// Implement the RootProvider property.
public override SiteMapProvider RootProvider
{
get
{
// If the current instance belongs to a provider hierarchy, it
// cannot be the RootProvider. Rely on the ParentProvider.
if (this.ParentProvider != null)
{
return ParentProvider.RootProvider;
}
// If the current instance does not have a ParentProvider, it is
// not a child in a hierarchy, and can be the RootProvider.
else
{
return this;
}
}
}
' Implement the ParentProvider property.
Public Overrides Property ParentProvider() As SiteMapProvider
Get
Return parentSiteMapProvider
End Get
Set(ByVal value As SiteMapProvider)
parentSiteMapProvider = Value
End Set
End Property
' Implement the RootProvider property.
Public Overrides ReadOnly Property RootProvider() As SiteMapProvider
Get
' If the current instance belongs to a provider hierarchy, it
' cannot be the RootProvider. Rely on the ParentProvider.
If Not (Me.ParentProvider Is Nothing) Then
Return ParentProvider.RootProvider
' If the current instance does not have a ParentProvider, it is
' not a child in a hierarchy, and can be the RootProvider.
Else
Return Me
End If
End Get
End Property
Comentarios
Todas las clases que implementan la SiteMapProvider clase pueden admitir el concepto de una jerarquía de proveedores de mapa de sitio. Las relaciones jerárquicas entre proveedores se mantienen fuera del ámbito de una SiteMapProviderCollection colección por los propios proveedores. Para obtener un ejemplo de una jerarquía de proveedores funcionales, vea XmlSiteMapProvider.