SiteMapPath.InitializeItem(SiteMapNodeItem) Methode

Definition

Füllt ein SiteMapNodeItem auf. Dabei handelt es sich um ein Webserversteuerelement, das einen SiteMapNode darstellt. Es verfügt je nach Funktion des Knotens und den für ihn festgelegten Vorlagen und Stilen über einen Satz untergeordneter Steuerelemente.

protected:
 virtual void InitializeItem(System::Web::UI::WebControls::SiteMapNodeItem ^ item);
protected virtual void InitializeItem (System.Web.UI.WebControls.SiteMapNodeItem item);
abstract member InitializeItem : System.Web.UI.WebControls.SiteMapNodeItem -> unit
override this.InitializeItem : System.Web.UI.WebControls.SiteMapNodeItem -> unit
Protected Overridable Sub InitializeItem (item As SiteMapNodeItem)

Parameter

item
SiteMapNodeItem

Die zu initialisierende SiteMapNodeItem.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie sie die InitializeItem Methode außer Kraft setzen, um einem Steuerelement Funktionen hinzuzufügen, von dem abgeleitet wird SiteMapPath. Dieses Codebeispiel ist Teil eines größeren Beispiels, das für die SiteMapPath Klasse bereitgestellt wird.

// Override the InitializeItem method to add a PathSeparator
// and DropDownList to the current node.
protected override void InitializeItem(SiteMapNodeItem item) {

    // The only node that must be handled is the CurrentNode.
    if (item.ItemType == SiteMapNodeItemType.Current)
    {
        HyperLink hLink = new HyperLink();

        // No Theming for the HyperLink.
        hLink.EnableTheming = false;
        // Enable the link of the SiteMapPath is enabled.
        hLink.Enabled = this.Enabled;

        // Set the properties of the HyperLink to
        // match those of the corresponding SiteMapNode.
        hLink.NavigateUrl = item.SiteMapNode.Url;
        hLink.Text        = item.SiteMapNode.Title;
        if (ShowToolTips) {
            hLink.ToolTip = item.SiteMapNode.Description;
        }

        // Apply styles or templates to the HyperLink here.
        // ...
        // ...

        // Add the item to the Controls collection.
        item.Controls.Add(hLink);

        AddDropDownListAfterCurrentNode(item);
    }
    else {
        base.InitializeItem(item);
    }
}
' Override the InitializeItem method to add a PathSeparator
' and DropDownList to the current node.
Protected Overrides Sub InitializeItem(item As SiteMapNodeItem)

   ' The only node that must be handled is the CurrentNode.
   If item.ItemType = SiteMapNodeItemType.Current Then
      Dim hLink As New HyperLink()

      ' No Theming for the HyperLink.
      hLink.EnableTheming = False
      ' Enable the link of the SiteMapPath is enabled.
      hLink.Enabled = Me.Enabled

      ' Set the properties of the HyperLink to
      ' match those of the corresponding SiteMapNode.
      hLink.NavigateUrl = item.SiteMapNode.Url
      hLink.Text = item.SiteMapNode.Title
      If ShowToolTips Then
         hLink.ToolTip = item.SiteMapNode.Description
      End If

      ' Apply styles or templates to the HyperLink here.
      ' ...
      ' ...
      ' Add the item to the Controls collection.
      item.Controls.Add(hLink)

      AddDropDownListAfterCurrentNode(item)
   Else
      MyBase.InitializeItem(item)
   End If
End Sub

Hinweise

Die InitializeItem Methode bestimmt den Funktionalen Typ des Knotens, den das Element darstellt, indem er das SiteMapNodeItemTypeElement überprüft, und wendet alle Vorlagen oder Formatvorlagen an, die für diese Art von Knoten definiert sind.

Wenn der SiteMapNodeItem Elementtyp vorhanden Root ist, wird ein HyperLink untergeordnetes Steuerelement erstellt und kann RootNodeTemplate RootNodeStyle angewendet werden. Wenn der RootNodeTemplate Satz festgelegt ist, wird er ITemplate auf den Knoten angewendet. Stattdessen wird der RootNodeStyle Satz mit jedem definierten NodeStyle und angewendeten Element zusammengeführt. Wenn keine Vorlagen oder Formatvorlagen definiert sind, wird ein grundlegendes HyperLink Steuerelement erstellt und mit Werten aus dem Knoten initialisiert.

Wenn ein SiteMapNodeItem Elementtyp vorhanden istCurrent, wird je nach Rückgabewert ein RenderCurrentNodeAsLinkoder HyperLink ein Literal untergeordnetes Steuerelement erstellt. Dann kann entweder das CurrentNodeTemplate oder CurrentNodeStyle das angewendet werden. Wenn der CurrentNodeTemplate Satz festgelegt ist, wird er ITemplate auf den Knoten angewendet. Wenn stattdessen der CurrentNodeStyle Satz festgelegt ist, wird er mit allen definierten und angewendeten Dateien NodeStyle zusammengeführt.

Wenn der SiteMapNodeItem Elementtyp vorhanden Parent ist, wird ein HyperLink untergeordnetes Steuerelement erstellt und kann NodeStyle NodeTemplate angewendet werden. Wenn der NodeTemplate Satz festgelegt ist, wird er ITemplate auf den Knoten angewendet. Wenn stattdessen der NodeStyle Satz festgelegt ist, wird er angewendet.

Wenn das SiteMapNodeItem Element einen Elementtyp aufweist PathSeparator , wird ein Literal untergeordnetes Steuerelement erstellt und die PathSeparatorTemplate und PathSeparatorStyle entsprechend den gleichen allgemeinen Regeln angewendet, die für einen Parent Knotentyp definiert sind.

Überschreiben Sie die InitializeItem Methode, um einzelne SiteMapNodeItem Objekte zu bearbeiten. Wenn das Design der Klasse eine umfassendere Kontrolle über die Erstellung und Hinzufügen der SiteMapNodeItem Objekte zum SiteMapPath Steuerelement erfordert, überschreiben Sie die CreateControlHierarchy Methode.

Gilt für

Siehe auch