Sdílet prostřednictvím


SiteMapPath.InitializeItem(SiteMapNodeItem) Metoda

Definice

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 SiteMapNodeItemPathSeparator 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 .

Platí pro

Viz také