Freigeben über


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 die InitializeItem -Methode überschrieben wird, um funktionen zu einem Steuerelement hinzuzufügen, das von 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 überprüft SiteMapNodeItemTypewird, und wendet alle Vorlagen oder Stile an, die für diese Art von Knoten definiert sind.

Wenn über SiteMapNodeItem einen Root Elementtyp verfügt, wird ein HyperLink untergeordnetes Steuerelement erstellt, und das RootNodeTemplate und RootNodeStyle kann angewendet werden. Wenn festgelegt RootNodeTemplate ist, wird auf ITemplate den Knoten angewendet. In wird stattdessen RootNodeStyle festgelegt, es wird mit allen definierten NodeStyle und angewendeten zusammengeführt. Wenn schließlich keine Vorlagen oder Stile definiert sind, wird ein grundlegendes HyperLink Steuerelement erstellt und mit Werten aus dem Knoten initialisiert.

Wenn über SiteMapNodeItem einen Current Elementtyp verfügt, wird je nach Rückgabewert von entweder ein oder HyperLink ein Literal untergeordnetes RenderCurrentNodeAsLinkSteuerelement erstellt. Anschließend kann entweder oder CurrentNodeTemplateCurrentNodeStyle angewendet werden. Wenn festgelegt CurrentNodeTemplate ist, wird auf ITemplate den Knoten angewendet. Wenn stattdessen festgelegt CurrentNodeStyle ist, wird es mit allen definierten NodeStyle und angewendeten zusammengeführt.

Wenn über SiteMapNodeItem einen Parent Elementtyp verfügt, wird ein HyperLink untergeordnetes Steuerelement erstellt, und die NodeTemplate und NodeStyle können angewendet werden. Wenn festgelegt NodeTemplate ist, wird auf ITemplate den Knoten angewendet. Wenn stattdessen festgelegt NodeStyle ist, wird es angewendet.

Wenn schließlich über SiteMapNodeItem einen PathSeparator Elementtyp verfügt, wird ein Literal untergeordnetes Steuerelement erstellt, und die PathSeparatorTemplate und PathSeparatorStyle werden gemäß 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 der Entwurf der Klasse eine umfassendere Kontrolle darüber erfordert, wie die SiteMapNodeItem Objekte erstellt und dem SiteMapPath Steuerelement hinzugefügt werden, überschreiben Sie die CreateControlHierarchy -Methode.

Gilt für:

Weitere Informationen