Cet article a fait l’objet d’une traduction automatique. Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez également afficher le texte anglais dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte traduit.
Traduction
Anglais

SiteMapNode classe

 

Date de publication : novembre 2016

Représente un nœud dans la structure de plan de site hiérarchique telle que celle décrite par la classe SiteMap et les classes qui implémentent la classe abstraite SiteMapProvider.

Espace de noms:   System.Web
Assembly:  System.Web (dans System.Web.dll)

System.Object
  System.Web.SiteMapNode

public class SiteMapNode : ICloneable, IHierarchyData, INavigateUIData

NomDescription
System_CAPS_pubmethodSiteMapNode(SiteMapProvider, String)

Initialise une nouvelle instance de la SiteMapNode à l’aide de la classe key pour identifier la page que le nœud représente et le fournisseur de plan de site qui gère le nœud.

System_CAPS_pubmethodSiteMapNode(SiteMapProvider, String, String)

Initialise une nouvelle instance de la SiteMapNode classe à l’aide de l’URL spécifiée, un key pour identifier la page que le nœud représente et le fournisseur de plan de site qui gère le nœud.

System_CAPS_pubmethodSiteMapNode(SiteMapProvider, String, String, String)

Initialise une nouvelle instance de la SiteMapNode classe à l’aide de l’URL spécifiée, un key pour identifier la page que le nœud représente, un titre et le fournisseur de plan de site qui gère le nœud.

System_CAPS_pubmethodSiteMapNode(SiteMapProvider, String, String, String, String)

Initialise une nouvelle instance de la SiteMapNode classe à l’aide de l’URL spécifiée, un key pour identifier la page que le nœud représente, un titre et description et le fournisseur de plan de site qui gère le nœud.

System_CAPS_pubmethodSiteMapNode(SiteMapProvider, String, String, String, String, IList, NameValueCollection, NameValueCollection, String)

Initialise une nouvelle instance de la SiteMapNode classe à l’aide du fournisseur de plan de site spécifié qui gère les nœud, URL, titre, description, rôles, attributs supplémentaires et clés de ressource explicites et implicites pour la localisation.

NomDescription
System_CAPS_protpropertyAttributes

Obtient ou définit une collection d’attributs supplémentaires au-delà des propriétés fortement typées qui sont définies pour la SiteMapNode classe.

System_CAPS_pubpropertyChildNodes

Obtient ou définit tous les nœuds enfants de l’utilisateur actuel SiteMapNode objet associé SiteMapProvider fournisseur.

System_CAPS_pubpropertyDescription

Obtient ou définit une description pour le SiteMapNode.

System_CAPS_pubpropertyHasChildNodes

Obtient une valeur indiquant si l’actuel SiteMapNode possède des nœuds enfants.

System_CAPS_pubpropertyItem[String]

Obtient ou définit un attribut personnalisé à partir de la Attributes collection ou une chaîne de ressource en fonction de la clé spécifiée.

System_CAPS_pubpropertyKey

Obtient une chaîne représentant la clé de recherche pour un nœud de plan de site.

System_CAPS_pubpropertyNextSibling

Obtient le prochain SiteMapNode nœud sur le même niveau hiérarchique que celui en cours, relatif à la ParentNode propriété (si elle existe).

System_CAPS_pubpropertyParentNode

Obtient ou définit le SiteMapNode objet qui est le parent du nœud actuel.

System_CAPS_pubpropertyPreviousSibling

Obtient le précédent SiteMapNode au même niveau que celui en cours, l’objet relatif à la ParentNode objet (si elle existe).

System_CAPS_pubpropertyProvider

Obtient le SiteMapProvider fournisseur qui le SiteMapNode objet suivi.

System_CAPS_pubpropertyReadOnly

Obtient ou définit une valeur indiquant si le nœud de plan de site peut être modifié.

System_CAPS_pubpropertyResourceKey

Obtient ou définit la clé de ressource utilisée pour localiser le SiteMapNode.

System_CAPS_pubpropertyRoles

Obtient ou définit une collection de rôles associés à l’objet SiteMapNode, qui est utilisée pendant le filtrage de sécurité.

System_CAPS_pubpropertyRootNode

Obtient le nœud racine du fournisseur racine dans une hiérarchie de fournisseur de plan de site. Si aucune hiérarchie de fournisseur n’existe, le RootNode propriété obtient le nœud racine du fournisseur actuel.

System_CAPS_pubpropertyTitle

Obtient ou définit le titre de la SiteMapNode objet.

System_CAPS_pubpropertyUrl

Obtient ou définit l’URL de la page que le SiteMapNode de l’objet représente.

NomDescription
System_CAPS_pubmethodClone()

Crée un nœud qui est une copie du nœud actuel.

System_CAPS_pubmethodClone(Boolean)

Crée une copie qui est une copie du nœud actuel, en clonant éventuellement tous les nœuds parents et ancêtres du nœud actuel.

System_CAPS_pubmethodEquals(Object)

Obtient une valeur indiquant si l’actuel SiteMapNode est identique à l’objet spécifié.(Remplace Object.Equals(Object).)

System_CAPS_protmethodFinalize()

Autorise un objet à tenter de libérer des ressources et d'exécuter d'autres opérations de nettoyage avant qu'il ne soit récupéré par l'opération garbage collection. (Hérité de Object.)

System_CAPS_pubmethodGetAllNodes()

Récupère une collection en lecture seule de tous les SiteMapNode les objets qui sont des descendants du nœud appelant, indépendamment du degré de séparation.

System_CAPS_pubmethodGetDataSourceView(SiteMapDataSource, String)

Récupère le SiteMapDataSourceView objet qui est associé au nœud actuel.

System_CAPS_protmethodGetExplicitResourceString(String, String, Boolean)

Récupère une chaîne localisée selon un SiteMapNode attribut à localiser, une chaîne par défaut pour retourner si aucune ressource n’est trouvée et une valeur booléenne indiquant s’il faut lever une exception si aucune ressource n’est trouvée.

System_CAPS_pubmethodGetHashCode()

Retourne le code de hachage de la SiteMapNode objet.(Remplace Object.GetHashCode().)

System_CAPS_pubmethodGetHierarchicalDataSourceView()

Récupère le SiteMapHierarchicalDataSourceView objet qui est associé au nœud actuel.

System_CAPS_protmethodGetImplicitResourceString(String)

Obtient une chaîne localisée selon le nom d’attribut et ResourceKey propriété qui est spécifiée par le SiteMapProvider par lequel le SiteMapNode est suivi.

System_CAPS_pubmethodGetType()

Obtient le Type de l'instance actuelle.(Hérité de Object.)

System_CAPS_pubmethodIsAccessibleToUser(HttpContext)

Obtient une valeur qui indique si le nœud spécifié peut être affiché par l’utilisateur dans le contexte spécifié.

System_CAPS_pubmethodIsDescendantOf(SiteMapNode)

Obtient une valeur indiquant si le nœud actuel est un enfant ou un descendant direct du nœud spécifié.

System_CAPS_protmethodMemberwiseClone()

Crée une copie superficielle du Object actuel.(Hérité de Object.)

System_CAPS_pubmethodToString()

Convertit la valeur de cette instance de la SiteMapNode classe en sa représentation chaîne équivalente.(Remplace Object.ToString().)

NomDescription
System_CAPS_pubinterfaceSystem_CAPS_privmethodICloneable.Clone()

Cette API prend en charge l’infrastructure de produit et n’est pas destinée à être utilisée directement depuis votre code. Crée un nœud qui est une copie du nœud actuel. Pour obtenir une description de ce membre, consultez ICloneable.Clone.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIHierarchyData.GetChildren()

Récupère les éléments de données enfants hiérarchiques de l’élément actuel. Pour obtenir une description de ce membre, consultez IHierarchyData.GetChildren.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIHierarchyData.GetParent()

Récupère le parant hiérarchique de l’élément actuel. Pour obtenir une description de ce membre, consultez IHierarchyData.GetParent.

System_CAPS_pubinterfaceSystem_CAPS_privpropertyIHierarchyData.HasChildren

Obtient une valeur indiquant si l’objet SiteMapNode actuel possède des nœuds enfants. Pour obtenir une description de ce membre, consultez IHierarchyData.HasChildren.

System_CAPS_pubinterfaceSystem_CAPS_privpropertyIHierarchyData.Item

Obtient l’élément de données hiérarchiques. Pour obtenir une description de ce membre, consultez IHierarchyData.Item.

System_CAPS_pubinterfaceSystem_CAPS_privpropertyIHierarchyData.Path

Obtient le chemin d’accès à l’élément de données hiérarchiques. Pour obtenir une description de ce membre, consultez IHierarchyData.Path.

System_CAPS_pubinterfaceSystem_CAPS_privpropertyIHierarchyData.Type

Obtient une chaîne qui représente le nom du type de l’élément de données hiérarchiques. Pour obtenir une description de ce membre, consultez IHierarchyData.Type.

System_CAPS_pubinterfaceSystem_CAPS_privpropertyINavigateUIData.Description

Récupère la propriété Description du nœud de plan de site. Pour obtenir une description de ce membre, consultez INavigateUIData.Description.

System_CAPS_pubinterfaceSystem_CAPS_privpropertyINavigateUIData.Name

Récupère la propriété Title du nœud de plan de site. Pour obtenir une description de ce membre, consultez INavigateUIData.Name.

System_CAPS_pubinterfaceSystem_CAPS_privpropertyINavigateUIData.NavigateUrl

Récupère la propriété Url du nœud de plan de site. Pour obtenir une description de ce membre, consultez INavigateUIData.NavigateUrl.

System_CAPS_pubinterfaceSystem_CAPS_privpropertyINavigateUIData.Value

Récupère la propriété Title du nœud de plan de site. Pour obtenir une description de ce membre, consultez INavigateUIData.Value.

Un SiteMapNode objet représente une page de site Web dans une structure de plan de site. SiteMapNode les objets sont chargés par la méthode statique SiteMap classe au moment de l’exécution à l’aide d’un ou plusieurs fournisseurs de plan de site pour charger des données de plan de site à partir d’un stockage persistant en mémoire. SiteMapNode les objets sont encapsulés par la SiteMapNodeItem classe pour une utilisation par des contrôles serveur Web, telles que la SiteMapPath contrôle.

La SiteMapNode classe comprend plusieurs propriétés qui sont utilisées pour décrire une seule page dans un site Web, y compris les propriétés qui décrivent une page, telles que le Url, Title, et Description Propriétés. Alors que le Url propriété est utilisée par le XmlSiteMapProvider (classe), qui est le fournisseur de plan de site par défaut pour ASP.NET, en tant que clé de recherche dans les collections internes que le fournisseur utilise pour suivre des nœuds, la SiteMapNode classe prend en charge un base Key propriété qui peut être utilisée par les fournisseurs de plan de site pour suivre des nœuds. En outre, le Url propriété est utilisée par les contrôles de navigation pour afficher des liens hypertexte vers des pages au sein d’une structure de navigation. Le Title propriété est un nom convivial pour le SiteMapNode, est souvent le même que le titre HTML d’un formulaire Web et est utilisé par les contrôles de navigation pour afficher les étiquettes simples. Enfin, un NameValueCollection collection d’autres Attributes attributs est disponible pour les fournisseurs de plan de site qui utilisent SiteMapNode objets, mais requièrent des propriétés supplémentaires qui ne sont pas disponibles dans la base de SiteMapNode (classe).

Cette section contient deux exemples de code. Le premier exemple de code montre comment créer une nouvelle collection de nœud de plan de site et ajouter des éléments. Le deuxième exemple de code montre comment charger des données de plan de site à partir d’un fichier texte.

L’exemple de code suivant montre comment utiliser le SiteMapNodeCollection constructeur pour créer un nouveau SiteMapNodeCollection collection et ensuite ajouter des éléments avec la Add méthode.

// The LoadSiteMapData() method loads site navigation
// data from persistent storage into a DataTable.
DataTable siteMap = LoadSiteMapData();

// Create a SiteMapNodeCollection.
SiteMapNodeCollection nodes = new SiteMapNodeCollection();

// Create a SiteMapNode and add it to the collection.
SiteMapNode tempNode;
DataRow row;
int index = 0;

while (index < siteMap.Rows.Count)
{

    row = siteMap.Rows[index];

    // Create a node based on the data in the DataRow.
    tempNode = new SiteMapNode(SiteMap.Provider,
                                row["Key"].ToString(),
                                row["Url"].ToString());

    // Add the node to the collection.
    nodes.Add(tempNode);
    ++index;
}

L’exemple de code suivant montre comment la SimpleTextSiteMapProvider analyse un fichier texte qui contient les données de plan de site dans des chaînes délimitées par des virgules. Un nouveau SiteMapNode objet est ajouté aux collections de suivi interne de la classe pour chaque ligne lue à partir du fichier.

Cet exemple de code fait partie d’un exemple plus complet fourni pour la SiteMapProvider classe.

protected virtual void LoadSiteMapFromStore()
{
  string pathToOpen;

  lock (this)
  {
    // If a root node exists, LoadSiteMapFromStore has already
    // been called, and the method can return.
    if (rootNode != null)
    {
      return;
    }
    else
    {
      pathToOpen = HttpContext.Current.Server.MapPath("~" + "\\" + sourceFilename);

      if (File.Exists(pathToOpen))
      {
        // Open the file to read from.
        using (StreamReader sr = File.OpenText(pathToOpen))
        {

          // Clear the state of the collections and rootNode
          rootNode = null;
          siteMapNodes.Clear();
          childParentRelationship.Clear();

          // Parse the file and build the site map
          string s = "";
          string[] nodeValues = null;
          SiteMapNode temp = null;

          while ((s = sr.ReadLine()) != null)
          {

            // Build the various SiteMapNode objects and add
            // them to the ArrayList collections. The format used
            // is: URL,TITLE,DESCRIPTION,PARENTURL

            nodeValues = s.Split(',');

            temp = new SiteMapNode(this,
                HttpRuntime.AppDomainAppVirtualPath + "/" + nodeValues[0],
                HttpRuntime.AppDomainAppVirtualPath + "/" + nodeValues[0],
                nodeValues[1],
                nodeValues[2]);

            // Is this a root node yet?
            if (null == rootNode &&
                (null == nodeValues[3] || nodeValues[3] == String.Empty))
            {
              rootNode = temp;
            }

          // If not the root node, add the node to the various collections.
            else
            {
              siteMapNodes.Add(new DictionaryEntry(temp.Url, temp));
              // The parent node has already been added to the collection.
              SiteMapNode parentNode =
                       FindSiteMapNode(HttpRuntime.AppDomainAppVirtualPath + "/" + nodeValues[3]);
              if (parentNode != null)
              {
                childParentRelationship.Add(new DictionaryEntry(temp.Url, parentNode));
              }
              else
              {
                throw new Exception("Parent node not found for current node.");
              }
            }
          }
        }
      }
      else
      {
        throw new Exception("File not found");
      }
    }
  }
  return;
}

.NET Framework
Disponible depuis 2.0

Tous les membres statiques publics ( Shared en Visual Basic) de ce type sont thread-safe. Les membres d’instance n’ont pas la garantie d’être thread-safe.

Retour au début
Afficher: