SiteMapPath.InitializeItem(SiteMapNodeItem) Yöntem

Tanım

bir öğesini temsil SiteMapNodeeden bir Web sunucusu denetimi olan bir SiteMapNodeItemöğesini, düğümün işlevini ve düğüm için belirtilen şablonları ve stilleri temel alan bir alt denetim kümesiyle 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 SiteMapPathtüretilen bir denetime işlevsellik eklemek için yönteminin nasıl geçersiz kılındığını InitializeItem 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 öğesini denetleyerek SiteMapNodeItemTypeöğenin temsil ettiği düğümün işlevsel türünü belirler ve bu tür bir düğüm için tanımlanan şablonları veya stilleri uygular.

SiteMapNodeItem öğesi bir Root öğe türüne sahipse, bir HyperLink alt denetim oluşturulur ve RootNodeTemplate ve RootNodeStyle uygulanabilir. RootNodeTemplate ayarlanırsa düğüme ITemplate 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ımlanmamışsa, düğümdeki değerlerle temel HyperLink bir denetim oluşturulur ve başlatılır.

SiteMapNodeItem öğesi bir Current öğe türüne sahipse, dönüş değerine RenderCurrentNodeAsLinkbağlı olarak bir Literal veya HyperLink alt denetimi oluşturulur. Ardından veya CurrentNodeTemplateCurrentNodeStyle uygulanabilir. CurrentNodeTemplate ayarlanırsa düğüme ITemplate 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 düğüme ITemplate uygulanır. bunun yerine NodeStyle ayarlanırsa uygulanır.

Son olarak, öğesi bir PathSeparator öğe türüne sahipseSiteMapNodeItem, bir Literal alt denetim oluşturulur ve PathSeparatorTemplatePathSeparatorStyle ve 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 SiteMapPath nasıl SiteMapNodeItem eklendiği üzerinde daha kapsamlı bir denetim gerektiriyorsa, yöntemini geçersiz kılınCreateControlHierarchy.

Şunlara uygulanır

Ayrıca bkz.