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.Populates a SiteMapNodeItem, which is a Web server control that represents a SiteMapNode, with a set of child controls based on the node's function and the specified templates and styles for the node.

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.The SiteMapNodeItem to initialize.

Beispiele

Das folgende Codebeispiel veranschaulicht, wie die InitializeItem -Methode überschrieben wird, um einem Steuerelement, das von SiteMapPathabgeleitet wird, Funktionen hinzuzufügen.The following code example demonstrates how to override the InitializeItem method to add functionality to a control that derives from SiteMapPath. Dieses Codebeispiel ist Teil eines größeren Beispiels, das für die SiteMapPath -Klasse bereitgestellt wird.This code example is part of a larger example provided for the SiteMapPath class.

// 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 SiteMapNodeItemType, indem überprüft wird, und wendet alle Vorlagen oder Stile an, die für diese Art von Knoten definiert sind.The InitializeItem method determines the functional type of node that the item represents by checking the SiteMapNodeItemType, and applies any templates or styles that are defined for that kind of node.

Wenn die SiteMapNodeItem Root einen Elementtyp aufweist, wird HyperLink ein untergeordnetes Steuerelement erstellt, RootNodeTemplate und RootNodeStyle die und können angewendet werden.If the SiteMapNodeItem has a Root item type, a HyperLink child control is created, and the RootNodeTemplate and RootNodeStyle may be applied. Wenn festgelegt ITemplateist, wird die zugehörige auf den Knoten angewendet. RootNodeTemplateIf the RootNodeTemplate is set, its ITemplate is applied to the node. In wird stattdessen RootNodeStyle festgelegt, dass es mit jeder definierten NodeStyle und angewendeten zusammengeführt wird.In instead the RootNodeStyle is set, it is merged with any defined NodeStyle and applied. Wenn keine Vorlagen oder Stile definiert sind, wird ein grundlegendes HyperLink Steuerelement erstellt und mit Werten aus dem Knoten initialisiert.Finally, if no templates or styles are defined, a basic HyperLink control is created and initialized with values from the node.

Wenn das SiteMapNodeItem -Element Current einen-Elementtyp aufweist, HyperLink wird abhängig vom Rückgabewert von RenderCurrentNodeAsLinkentweder ein-Steuerelement oder ein Literal untergeordnetes-Steuerelement erstellt.If the SiteMapNodeItem has a Current item type, either a Literal or HyperLink child control is created, depending on the return value of RenderCurrentNodeAsLink. Dann kann entweder CurrentNodeTemplate oder CurrentNodeStyle angewendet werden.Then either the CurrentNodeTemplate or CurrentNodeStyle may be applied. Wenn festgelegt ITemplateist, wird die zugehörige auf den Knoten angewendet. CurrentNodeTemplateIf the CurrentNodeTemplate is set, its ITemplate is applied to the node. Wenn stattdessen CurrentNodeStyle festgelegt wird, wird es mit jeder definierten NodeStyle und angewendeten zusammengeführt.If instead the CurrentNodeStyle is set, it is merged with any defined NodeStyle and applied.

Wenn die SiteMapNodeItem Parent einen NodeTemplate -Elementtyp aufweist, HyperLink wird ein untergeordnetes-Steuerelement NodeStyle erstellt, und und können angewendet werden.If the SiteMapNodeItem has a Parent item type, a HyperLink child control is created and the NodeTemplate and NodeStyle may be applied. Wenn festgelegt ITemplateist, wird die zugehörige auf den Knoten angewendet. NodeTemplateIf the NodeTemplate is set, its ITemplate is applied to the node. Wenn stattdessen NodeStyle festgelegt wird, wird es angewendet.If instead the NodeStyle is set, it is applied.

Wenn der SiteMapNodeItem über einen PathSeparatorStyle Literal Parent PathSeparatorTemplate -Elementtyp verfügt, wird ein untergeordnetes Steuerelement erstellt, und die und werden entsprechend den gleichen allgemeinen Regeln angewendet, die für einen Knotentyp definiert wurden. PathSeparatorFinally, if the SiteMapNodeItem has a PathSeparator item type, a Literal child control is created and the PathSeparatorTemplate and PathSeparatorStyle are applied according to the same general rules defined for a Parent node type.

Überschreiben InitializeItem Sie die Methode, SiteMapNodeItem um einzelne Objekte zu bearbeiten.Override the InitializeItem method to manipulate individual SiteMapNodeItem objects. Wenn der Entwurf der Klasse eine umfassendere Kontrolle darüber erfordert, wie die SiteMapNodeItem Objekte erstellt und dem SiteMapPath Steuerelement hinzugefügt werden, über CreateControlHierarchy schreiben Sie die-Methode.If the design of the class requires more extensive control over how the SiteMapNodeItem objects are created and added to the SiteMapPath control, override the CreateControlHierarchy method.

Gilt für:

Siehe auch