SiteMapPath.InitializeItem(SiteMapNodeItem) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Naplní SiteMapNodeItem, což je ovládací prvek webového serveru, který představuje SiteMapNode, sadou podřízených ovládacích prvků na základě funkce uzlu a zadaných šablon a stylů pro uzel.
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
Inicializace SiteMapNodeItem .
Příklady
Následující příklad kódu ukazuje, jak přepsat metodu InitializeItem přidat funkce do ovládacího prvku, který je odvozen z SiteMapPath. Tento příklad kódu je součástí většího příkladu uvedeného pro třídu SiteMapPath.
// 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
Poznámky
Metoda InitializeItem určuje funkční typ uzlu, který položka představuje kontrolou SiteMapNodeItemType, a použije všechny šablony nebo styly, které jsou definovány pro tento typ uzlu.
SiteMapNodeItem Pokud má Root typ položky, HyperLink vytvoří se podřízený ovládací prvek a RootNodeTemplateRootNodeStyle může se použít. Pokud je nastavená RootNodeTemplate , použije se na ITemplate uzel. Místo toho se RootNodeStyle sada sloučí s libovolným definovaným NodeStyle a použitým objektem. Pokud nejsou definovány žádné šablony nebo styly, vytvoří se základní HyperLink ovládací prvek a inicializuje se hodnotami z uzlu.
Pokud má SiteMapNodeItem typ položky, je vytvořen ovládací Current prvek nebo Literal podřízený ovládací prvek v závislosti na návratové hodnotě HyperLink.RenderCurrentNodeAsLink Pak se CurrentNodeTemplate buď použije, nebo CurrentNodeStyle může být použit. Pokud je nastavená CurrentNodeTemplate , použije se na ITemplate uzel. Pokud je tato CurrentNodeStyle sada nastavená, sloučí se s libovolnou definovanou NodeStyle a použitou.
SiteMapNodeItem Pokud má Parent typ položky, HyperLink vytvoří se podřízený ovládací prvek a je možné ho NodeTemplateNodeStyle použít. Pokud je nastavená NodeTemplate , použije se na ITemplate uzel. Pokud je nastavená NodeStyle , použije se.
A konečně, pokud SiteMapNodeItem má PathSeparator typ položky, Literal vytvoří se podřízený ovládací prvek a PathSeparatorTemplate použije se podle PathSeparatorStyle stejných obecných pravidel definovaných pro Parent typ uzlu.
Přepište metodu InitializeItem pro manipulaci s jednotlivými SiteMapNodeItem objekty. Pokud návrh třídy vyžaduje rozsáhlejší kontrolu nad tím, jak SiteMapNodeItem jsou objekty vytvořeny a přidány do SiteMapPath ovládacího prvku, přepište metodu CreateControlHierarchy .