SiteMapPath.InitializeItem(SiteMapNodeItem) Methode

Definition

Füllt ein SiteMapNodeItemWebserver-Steuerelement auf, das ein SiteMapNodeWebserversteuerelement darstellt, mit einer Reihe untergeordneter Steuerelemente basierend auf der Funktion des Knotens und den angegebenen Vorlagen und Formatvorlagen für den Knoten.

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

Der SiteMapNodeItem zu initialisierende Code.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie die InitializeItem Methode außer Kraft setzen kann, um einem Steuerelement, von SiteMapPathdem abgeleitet wird, Funktionen hinzuzufügen. 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 ist Root , wird ein HyperLink untergeordnetes Steuerelement erstellt und kann RootNodeTemplateRootNodeStyle angewendet werden. Wenn die RootNodeTemplate Einstellung festgelegt ist, wird sie ITemplate auf den Knoten angewendet. Stattdessen wird sie RootNodeStyle mit allen definierten und angewendeten Daten NodeStyle zusammengeführt. Wenn keine Vorlagen oder Formatvorlagen definiert sind, wird schließlich ein einfaches HyperLink Steuerelement erstellt und mit Werten aus dem Knoten initialisiert.

Wenn der SiteMapNodeItem Elementtyp aufweistCurrent, wird je nach Rückgabewert Literalein oder HyperLink ein RenderCurrentNodeAsLink untergeordnetes Steuerelement erstellt. Dann können sie entweder angewendet CurrentNodeTemplate werden oder CurrentNodeStyle angewendet werden. Wenn die CurrentNodeTemplate Einstellung festgelegt ist, wird sie ITemplate auf den Knoten angewendet. Wenn die CurrentNodeStyle Einstellung festgelegt ist, wird sie mit allen definierten NodeStyle und angewendeten Zusammengeführt.

Wenn der SiteMapNodeItemParent Elementtyp besitzt, wird ein HyperLink untergeordnetes Steuerelement erstellt und kann NodeTemplate angewendet NodeStyle werden. Wenn die NodeTemplate Einstellung festgelegt ist, wird sie ITemplate auf den Knoten angewendet. Wenn sie NodeStyle stattdessen festgelegt ist, wird sie angewendet.

Wenn der SiteMapNodeItemPathSeparator Elementtyp vorhanden ist, wird ein Literal untergeordnetes Steuerelement erstellt und entsprechend PathSeparatorTemplatePathSeparatorStyle 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, setzen Sie die CreateControlHierarchy Methode außer Kraft.

Gilt für:

Weitere Informationen