SiteMapPath.InitializeItem(SiteMapNodeItem) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
SiteMapNodeItemWypełnia element , który jest kontrolką serwera sieci Web, która reprezentuje SiteMapNodeelement , z zestawem kontrolek podrzędnych opartych na funkcji węzła oraz określonych szablonów i stylów dla węzła.
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)
Parametry
- item
- SiteMapNodeItem
Element SiteMapNodeItem do zainicjowania.
Przykłady
W poniższym przykładzie kodu pokazano, jak zastąpić metodę InitializeItem w celu dodania funkcji do kontrolki pochodzącej z klasy SiteMapPath. Ten przykład kodu jest częścią większego przykładu udostępnionego SiteMapPath dla klasy .
// 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
Uwagi
Metoda InitializeItem określa typ funkcjonalny węzła reprezentowanego przez element przez sprawdzenie SiteMapNodeItemTypeelementu i stosuje wszystkie szablony lub style zdefiniowane dla tego rodzaju węzła.
Jeśli element SiteMapNodeItem ma Root typ elementu, zostanie utworzona kontrolka HyperLink podrzędna i może zostać zastosowana kontrolka RootNodeTemplate i RootNodeStyle . Jeśli parametr RootNodeTemplate jest ustawiony, zostanie ITemplate zastosowany do węzła. Zamiast tego jest ustawiona RootNodeStyle , jest scalona z dowolnym zdefiniowanym NodeStyle i zastosowanym. Na koniec, jeśli nie zdefiniowano szablonów lub stylów, zostanie utworzona podstawowa HyperLink kontrolka z wartościami z węzła.
Jeśli element SiteMapNodeItem ma Current typ elementu, zostanie utworzona kontrolka Literal lub HyperLink podrzędna, w zależności od zwracanej RenderCurrentNodeAsLinkwartości . Następnie można zastosować wartość CurrentNodeTemplate lub CurrentNodeStyle . Jeśli parametr CurrentNodeTemplate jest ustawiony, zostanie ITemplate zastosowany do węzła. Jeśli zamiast tego jest ustawiona CurrentNodeStyle , jest scalona z dowolnym zdefiniowanym NodeStyle i zastosowanym.
Jeśli element SiteMapNodeItem ma Parent typ elementu, zostanie utworzona kontrolka HyperLink podrzędna i może zostać zastosowana kontrolka NodeTemplate i NodeStyle . Jeśli parametr NodeTemplate jest ustawiony, zostanie ITemplate zastosowany do węzła. Jeśli zamiast tego NodeStyle parametr jest ustawiony, zostanie zastosowany.
Na koniec, jeśli element SiteMapNodeItem ma PathSeparator typ elementu, Literal tworzona jest kontrolka podrzędna i PathSeparatorTemplate są PathSeparatorStyle stosowane zgodnie z tymi samymi ogólnymi regułami zdefiniowanymi dla typu węzła Parent .
Zastąpij metodę InitializeItem w celu manipulowania poszczególnymi SiteMapNodeItem obiektami. Jeśli projekt klasy wymaga bardziej rozbudowanej kontroli nad sposobem SiteMapNodeItem tworzenia i dodawania obiektów do kontrolki SiteMapPath , przesłoń metodę CreateControlHierarchy .