SiteMapPath.InitializeItem(SiteMapNodeItem) Yöntem

Tanım

Düğüm işlevini ve düğüm için belirtilen şablonları ve stilleri temel alan bir alt denetim kümesiyle, bir öğesini temsil eden bir SiteMapNodeItemWeb sunucusu denetimi olan bir SiteMapNodeöğesini doldurur.

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)

Parametreler

item
SiteMapNodeItem

SiteMapNodeItem başlatacak.

Örnekler

Aşağıdaki kod örneği, 'den InitializeItemtüretilen bir denetime işlevsellik eklemek için yönteminin nasıl geçersiz kılındığını SiteMapPath gösterir. Bu kod örneği, sınıfı için SiteMapPath sağlanan daha büyük bir örneğin parçasıdır.

// 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

Açıklamalar

yöntemi, InitializeItem öğesinin temsil ettiği düğümün işlevsel türünü denetler SiteMapNodeItemTypeve bu tür bir düğüm için tanımlanan tüm şablonları veya stilleri uygular.

SiteMapNodeItem öğesi bir Root öğe türüne sahipse, bir HyperLink alt denetim oluşturulur ve RootNodeTemplate uygulanabilirRootNodeStyle. RootNodeTemplate ayarlanırsa, ITemplate düğüme uygulanır. bunun yerine RootNodeStyle ayarlanır, tanımlı NodeStyle ve uygulanan herhangi bir ile birleştirilir. Son olarak, hiçbir şablon veya stil tanımlanmadıysa, düğümdeki değerlerle temel HyperLink bir denetim oluşturulur ve başlatılır.

SiteMapNodeItem öğe türüne sahipseCurrent, dönüş değerine Literalbağlı olarak bir HyperLink veya RenderCurrentNodeAsLink alt denetimi oluşturulur. Ardından veya CurrentNodeTemplateCurrentNodeStyle uygulanabilir. CurrentNodeTemplate ayarlanırsa, ITemplate düğüme uygulanır. bunun yerine CurrentNodeStyle ayarlanırsa, tanımlanan NodeStyle ve uygulanan herhangi bir ile birleştirilir.

SiteMapNodeItem öğesi bir Parent öğe türüne sahipse, bir HyperLink alt denetim oluşturulur ve NodeTemplateNodeStyle uygulanabilir. NodeTemplate ayarlanırsa, ITemplate düğüme uygulanır. bunun yerine NodeStyle ayarlanırsa, uygulanır.

Son olarak, öğesi bir SiteMapNodeItem öğe türüne sahipsePathSeparator, bir Literal alt denetim oluşturulur ve PathSeparatorTemplate ve PathSeparatorStyle bir Parent düğüm türü için tanımlanan genel kurallara göre uygulanır.

InitializeItem Tek tek SiteMapNodeItem nesneleri işlemek için yöntemini geçersiz kılın. sınıfının tasarımı, nesnelerin nasıl oluşturulduğu ve denetime SiteMapNodeItem nasıl SiteMapPath eklendiği üzerinde daha kapsamlı bir denetim gerektiriyorsa, yöntemini geçersiz kılınCreateControlHierarchy.

Şunlara uygulanır

Ayrıca bkz.