SiteMapPath.InitializeItem(SiteMapNodeItem) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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.