SiteMapPath.InitializeItem(SiteMapNodeItem) Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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 .