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
Chcete SiteMapNodeItem inicializovat.
Příklady
Následující příklad kódu ukazuje, jak přepsat metodu InitializeItem pro přidání funkce do ovládacího prvku, který je odvozen z SiteMapPath. Tento příklad kódu je součástí většího příkladu SiteMapPath pro třídu.
// 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 zaškrtnutím SiteMapNodeItemTypea použije všechny šablony nebo styly, které jsou definovány pro tento druh uzlu.
SiteMapNodeItem Pokud má Root typ položky, vytvoří se HyperLink podřízený ovládací prvek a RootNodeTemplate může se použít aRootNodeStyle. RootNodeTemplate Pokud je nastavená hodnota, ITemplate použije se na uzel. Místo toho RootNodeStyle se soubor is set 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 s hodnotami z uzlu.
SiteMapNodeItem Pokud má Current typ položky, vytvoří se podřízený Literal ovládací prvek nebo HyperLink v závislosti na návratové RenderCurrentNodeAsLinkhodnotě . Pak se může použít buď hodnota CurrentNodeTemplate nebo CurrentNodeStyle . CurrentNodeTemplate Pokud je nastavená hodnota, ITemplate použije se na uzel. Pokud je místo toho CurrentNodeStyle nastavená hodnota, sloučí se s libovolným definovaným NodeStyle a použitým objektem.
Pokud má Parent typ položky, vytvoří se HyperLink podřízený ovládací prvek a NodeTemplate může se použít aNodeStyle.SiteMapNodeItem NodeTemplate Pokud je nastavená hodnota, ITemplate použije se na uzel. Pokud je místo toho NodeStyle nastavená hodnota, použije se.
A konečně, pokud SiteMapNodeItem má PathSeparator typ položky, Literal vytvoří se podřízený ovládací prvek a PathSeparatorTemplatePathSeparatorStyle a se použijí podle 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 .