CheckChanged 当复选框被选择或者清除选择时的所触发的事件 SelectedNodeChanged 当选择的节点发生改变时所触发的事件 TreeNodeCollapsed 当分支被折叠时所触发的事件 TreeNodeExpanded 当分支被展开时所触发的事件 TreeNodeDataBound 当节点被绑定到数据源时所触发的事件 TreeNodePopulate* Fired when a PopulateOnDemand node needs content * Only fired on server if EnableClientScript="false"
使用 SelectedNodeChanged事件
<asp:TreeView ID="Tree" OnSelectedNodeChanged="OnUpdate" RunAt="server"> <Nodes> </Nodes> </asp:TreeView> . . . <script language="C#" runat="server"> void OnUpdate (Object sender, EventArgs e) { // Get the text of the selected node string text = Tree.SelectedNode.Text; } </script>
按需装载节点
<asp:TreeView OnTreeNodePopulate="OnPopulate" EnableClientScript="false" RunAt="server"> <Nodes> <asp:TreeNode Text="Populate this node on demand" PopulateOnDemand="true" RunAt="server"/> </Nodes> </asp:TreeView> . . . <script language="C#" runat="server"> void OnPopulate (Object sender, TreeNodeEventArgs e) { // Called first time the populate-on-demand node is expanded TreeNode node =new TreeNode ("This node added dynamically"); e.Node.ChildNodes.Add (node); } </script>
Menu 控件关键属性
Items MenuItemCollection 类型的菜单项的集合 ItemWrap Specifies whether menu item should wrap Orientation 标明菜单是纵向排列还是横向排列 SelectedItem 标明当前选择的菜单项 StaticStyle properties 标明静态菜单的样式 DynamicStyle properties 标明动态菜单的样式
MenuItem 控件关键属性
ImageUrl 菜单项上所显示图片的URL路径 NavigateUrl 当菜单项单击时所要导航的目标路径 Selected 标明当前菜单项是否已经被选中 Text 菜单项上的文字 (显示给最终用户) ToolTip 当光标暂停或者移过菜单项时所显示的提示文本 Value 菜单项的实际值
<asp:Menu OnMenuItemClick="OnClick" RunAt="server"> <Items> </Items> </asp:Menu> . . . <script language="C#" runat="server"> void OnClick (Object sender, MenuEventArgs e) { // Get the text of the selected menu item string text = e.Item.Text; } </script>
// Write the title of the current node to a Label control Label1.Text = SiteMap.CurrentNode.Title; // Write the path to the current node to a Label control SiteMapNode node = SiteMap.CurrentNode; StringBuilder builder =new StringBuilder (node.Title); while (node.ParentNode !=null) { node = node.ParentNode; builder.Insert (0, " > "); builder.Insert (0, node.Title); } Label1.Text = builder.ToString ();