次のweb.sitemapを例として使用して、ユーザーがASP.NetTreeViewの[Teachers]リンクをクリックしたときにキャッチするイベントハンドラーを作成します。これはたまたま親ノードです。
<siteMapNode title="Teachers" url="~/DefaultTeachers.aspx" >
<siteMapNode url="~/Teachers.aspx" title="Teachers" description="Maintain details of each Teacher." />
<siteMapNode url="~/TeacherSchedules.aspx" title="Teacher Schedules" description="Maintain teacher schedules." />
<siteMapNode url="~/TeacherEmailNotices.aspx" title="Email Notices To Teachers" description="Email notices to teachers." />
</siteMapNode>
ASP.NetTreeViewのマークアップに配置するイベントを教えてください。
<asp:TreeView
id="TreeViewMain"
runat="server"
ExpandDepth="0"
OnUserClickedTheLink="TreeViewMain_UserClickedTheLink"
DataSourceID="KnowledgeAcademySiteMap">
<RootNodeStyle ImageUrl="/Images/book.png" />
<ParentNodeStyle ImageUrl="/Images/book.png" />
<LeafNodeStyle ImageUrl="/Images/book.png" />
</asp:TreeView>
また、コードビハインドファイルでは、e.Nodeなどを「If」ステートメントに配置して、実際にクリックされたノードをテストします。
If e.Node.Text = "Teachers" Then
' We will close all other nodes and open up the 3 leaf nodes under "Teachers" here.
'----------------------------------------------------------------------------------
End If