Exporter (0) Imprimer
Développer tout

SiteMapDataSource, classe

Fournit un contrôle de source de données que les contrôles serveur Web et d'autres contrôles peuvent utiliser pour se lier aux données de plan de site hiérarchiques.

Espace de noms: System.Web.UI.WebControls
Assembly : System.Web (dans system.web.dll)

public class SiteMapDataSource : HierarchicalDataSourceControl, IDataSource, IListSource
public class SiteMapDataSource extends HierarchicalDataSourceControl implements IDataSource, IListSource
public class SiteMapDataSource extends HierarchicalDataSourceControl implements IDataSource, IListSource
Non applicable.

Le contrôle SiteMapDataSource est une source de données pour les données de plan de site stockées par les fournisseurs de plan de site configurés pour votre site. SiteMapDataSource active les contrôles serveur Web qui ne sont pas spécifiquement des contrôles de navigation de site, tels que les contrôles TreeView, Menu et DropDownList, à lier aux données de plan de site hiérarchiques. Vous pouvez utiliser ces contrôles serveur Web pour afficher un plan de site sous forme de table des matières ou parcourir activement un site. Une autre possibilité consiste à utiliser le contrôle SiteMapPath, qui est conçu spécifiquement comme un contrôle de navigation de site, et qui, par conséquent, n'a pas besoin d'une instance du contrôle SiteMapDataSource.

RemarqueRemarque :

Si vous n'êtes pas familiarisé avec les fonctionnalités d'accès aux données dans ASP.NET 2.0, il peut être utile de consulter les rubriques suivantes avant de continuer :

Le SiteMapDataSource se lie aux données de plan de site et présente sa vue en fonction d'un nœud de démarrage spécifié dans la hiérarchie de plan de site. Par défaut, ce nœud correspond au nœud racine de la hiérarchie, mais il peut également s'agir d'un autre nœud dans la hiérarchie. Le nœud de démarrage est identifié par les valeurs de plusieurs propriétés SiteMapDataSource comme suit :

Nœud de démarrage

Valeurs de propriétés

Nœud racine de la hiérarchie (paramètre par défaut).

StartFromCurrentNode a la valeur false.

StartingNodeUrl n'est pas défini.

Nœud qui représente la page actuellement affichée.

StartFromCurrentNode a la valeur true.

StartingNodeUrl n'est pas défini.

Nœud spécifique de la hiérarchie.

StartFromCurrentNode a la valeur false.

StartingNodeUrl n'est pas défini.

Si la propriété StartingNodeOffset a une valeur autre que 0, elle affecte le nœud de démarrage ainsi que la hiérarchie des données de plan de site qui est exposée par le contrôle SiteMapDataSource. La valeur entière négative ou positive de StartingNodeOffset identifie le nombre de niveaux supérieurs ou inférieurs dans la hiérarchie de plan de site du nœud démarrage qui est identifié par les propriétés StartFromCurrentNode et StartingNodeUrl pour définir un offset du nœud démarrage du sous-arbre qui est exposé par le contrôle de source de données.

Si la propriété StartingNodeOffset a la valeur d'un nombre négatif -n, le nœud de démarrage du sous-arbre qui est exposé par le contrôle de source de données est le nœud ancêtre, n niveaux hiérarchiques au-dessus du nœud de démarrage identifié. Si la valeur n est supérieure au nombre de niveaux ancêtres dans l'arborescence hiérarchique, le nœud de démarrage du sous-arbre correspond au nœud racine de la hiérarchie de plan de site.

Si la propriété StartingNodeOffset a la valeur d'un nombre positif +n, le nœud de démarrage du sous-arbre qui est exposé est un nœud enfant, n niveaux au-dessous du nœud de démarrage identifié. Étant donné que plusieurs branches de nœuds enfants peuvent exister dans la hiérarchie, SiteMapDataSource essaie de trouver directement un nœud enfant sur le chemin d'accès entre le nœud de démarrage identifié et le nœud qui représente la page actuellement demandée, si possible. Si le nœud qui représente la page actuellement demandée n'est pas présent dans le sous-arbre du nœud de démarrage identifié, la valeur de la propriété StartingNodeOffset est ignorée. Si le nœud qui représente la page actuellement demandée est moins de n niveaux au-dessous du nœud de démarrage identifié, le nœud de la page actuellement demandée est utilisé comme nœud de démarrage.

Les données de plan de site sont récupérées d'un objet SiteMapProvider, tel que XmlSiteMapProvider, qui est le fournisseur de plan de site par défaut pour ASP.NET. Vous pouvez spécifier n'importe quel fournisseur configuré pour votre site pour fournir les données de plan de site à SiteMapDataSource et vous pouvez obtenir la liste des fournisseurs disponibles en accédant à la collection System.Web.SiteMap.Providers.

Comme tous les contrôles de source de données, chaque instance de SiteMapDataSource est associée à un objet d'assistance unique appelé vue de la source de données. D'après les propriétés de la source de données, SiteMapDataSourceView est une vue des données de plan de site, qui est récupérée en appelant la méthode GetHierarchicalView. SiteMapDataSourceView gère l'objet SiteMapNodeCollection auquel les contrôles sont liés.

Par défaut, le nœud de démarrage correspond au nœud racine de la hiérarchie, mais vous pouvez le définir sur un autre nœud. Le point de départ peut être un nœud relatif à la position actuelle dans le plan de site ou à une position absolue. Vous pouvez spécifier le nœud de démarrage en définissant la propriété StartingNodeUrl.

SiteMapDataSource est spécialisé pour les données de navigation, et ne prend pas en charge les opérations de source de données courantes, telles que le tri, le filtrage, la pagination ou la mise en cache, ou encore les opérations d'enregistrement de données, telles que les mises à jour, les insertions ou les suppressions.

RubriqueEmplacement
Procédure pas à pas : contrôle des menus ASP.NET par programmeGénération d'applications Web ASP.NET dans Visual Studio
Comment : localiser les données sitemapGénération d'applications Web ASP.NET
Procédure pas à pas : ajout de la navigation de site à un site WebGénération d'applications Web ASP.NET dans Visual Studio
Procédure pas à pas : filtrage des nœuds sitemap en fonction des rôles de sécuritéGénération d'applications Web ASP.NET dans Visual Studio
Procédure pas à pas : ajout de la navigation de site à un site WebGénération d'applications à l'aide de Visual Web Developer
Procédure pas à pas : filtrage des nœuds sitemap en fonction des rôles de sécuritéGénération d'applications Web ASP.NET dans Visual Studio
Procédure pas à pas : contrôle des menus ASP.NET par programmeGénération d'applications Web ASP.NET dans Visual Studio
Comment : localiser les données sitemapGénération d'applications Web ASP.NET dans Visual Studio

L'exemple de code suivant montre comment lier de façon déclarative un contrôle TreeView à un plan de site à l'aide d'un contrôle SiteMapDataSource. Les données de plan de site sont récupérées en commençant au niveau du nœud racine.

<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
        <form id="form1" runat="server">
            <asp:SiteMapDataSource
                id="SiteMapDataSource1"
                runat="server" />

            <asp:TreeView
                id="TreeView1"
                runat="server"
                DataSourceID="SiteMapDataSource1">
            </asp:TreeView>

        </form>
    </body>
</html>

<%@ Page Language="VJ#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
        <form id="form1" runat="server">
            <asp:SiteMapDataSource
                id="SiteMapDataSource1"
                runat="server">
            </asp:SiteMapDataSource>

            <asp:TreeView
                id="TreeView1"
                runat="server"
                DataSourceID="SiteMapDataSource1">
            </asp:TreeView>

        </form>
    </body>
</html>

  • AspNetHostingPermission  pour opérer dans un environnement hébergé. Valeur de demande : LinkDemand ; valeur d'autorisation : Minimal
  • AspNetHostingPermission  pour opérer dans un environnement hébergé. Valeur de demande : InheritanceDemand ; valeur d'autorisation : Minimal

System.Object
   System.Web.UI.Control
     System.Web.UI.HierarchicalDataSourceControl
      System.Web.UI.WebControls.SiteMapDataSource

Les membres statiques publics (Shared en Visual Basic) de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Windows 98, Windows Server 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile pour Pocket PC, Windows Mobile pour Smartphone, Windows Server 2003, Windows XP Édition Media Center, Windows XP Professionnel Édition x64, Windows XP SP2, Windows XP Starter Edition

Microsoft .NET Framework 3.0 est pris en charge sur Windows Vista, Microsoft Windows XP SP2 et Windows Server 2003 SP1.

.NET Framework

Prise en charge dans : 3.0, 2.0

Ajouts de la communauté

AJOUTER
Microsoft réalise une enquête en ligne pour recueillir votre opinion sur le site Web de MSDN. Si vous choisissez d’y participer, cette enquête en ligne vous sera présentée lorsque vous quitterez le site Web de MSDN.

Si vous souhaitez y participer,
Afficher:
© 2014 Microsoft