Bagikan melalui


SiteMapPath.InitializeItem(SiteMapNodeItem) Metode

Definisi

Mengisi SiteMapNodeItem, yang merupakan kontrol server Web yang mewakili SiteMapNode, dengan sekumpulan kontrol anak berdasarkan fungsi simpul dan templat dan gaya yang ditentukan untuk simpul.

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)

Parameter

item
SiteMapNodeItem

untuk SiteMapNodeItem menginisialisasi.

Contoh

Contoh kode berikut menunjukkan cara mengambil alih InitializeItem metode untuk menambahkan fungsionalitas ke kontrol yang berasal dari SiteMapPath. Contoh kode ini adalah bagian dari contoh yang lebih besar yang disediakan untuk SiteMapPath kelas .

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

Keterangan

Metode InitializeItem menentukan jenis node fungsi yang diwakili item dengan memeriksa , dan menerapkan templat atau gaya apa pun yang ditentukan untuk jenis node tersebut SiteMapNodeItemType.

SiteMapNodeItem Jika memiliki Root jenis item, HyperLink kontrol anak dibuat, dan RootNodeTemplate dan RootNodeStyle dapat diterapkan. RootNodeTemplate Jika diatur, itu ITemplate diterapkan ke simpul. Sebagai gantinya RootNodeStyle diatur, itu digabungkan dengan apa pun yang ditentukan NodeStyle dan diterapkan. Terakhir, jika tidak ada templat atau gaya yang ditentukan, kontrol dasar HyperLink dibuat dan diinisialisasi dengan nilai dari simpul.

SiteMapNodeItem Jika memiliki Current jenis item, kontrol Literal atau HyperLink turunan dibuat, tergantung pada nilai yang dikembalikan .RenderCurrentNodeAsLink Kemudian, atau CurrentNodeTemplateCurrentNodeStyle dapat diterapkan. CurrentNodeTemplate Jika diatur, itu ITemplate diterapkan ke simpul. Jika diatur CurrentNodeStyle , itu digabungkan dengan yang ditentukan NodeStyle dan diterapkan.

SiteMapNodeItem Jika memiliki Parent jenis item, HyperLink kontrol anak dibuat dan NodeTemplate dan NodeStyle dapat diterapkan. NodeTemplate Jika diatur, itu ITemplate diterapkan ke simpul. Jika sebaliknya NodeStyle diatur, itu diterapkan.

Terakhir, jika SiteMapNodeItem memiliki PathSeparator jenis item, Literal kontrol anak dibuat dan PathSeparatorTemplate dan PathSeparatorStyle diterapkan sesuai dengan aturan umum yang sama yang ditentukan untuk Parent jenis node.

Ambil alih InitializeItem metode untuk memanipulasi objek individual SiteMapNodeItem . Jika desain kelas memerlukan kontrol yang lebih luas atas bagaimana SiteMapNodeItem objek dibuat dan ditambahkan ke SiteMapPath kontrol, ambil alih CreateControlHierarchy metode .

Berlaku untuk

Lihat juga