在Asp.net 2.0中关于menu和treeview的几点使用注意!
1在 menu 中,如果 NavigateUrl = "%",则表明改节点不可选择或单击,也可通过设置节点的 Selectable 来启用节点不可选择或单击。
2在 menu 和 treeview 中,如果为 NavigateUrl 赋了值,则执行时先执行 NavigateUrl ,而 Menu_MenuItemClick 和 TreeView1_SelectedNodeChanged 不会触发;若要触发 Menu_MenuItemClick 和 TreeView1_SelectedNodeChanged,则必须放弃对 NavigateUrl 属性的使用,注意:将 NavigateUrl 设置为空置也不行。Menu_MenuItemClick 和 TreeView1_SelectedNodeChanged 同时会引发页面的重新加载。
3在treeview中,如果设置节点不可选择或单击,有两种方法,一种是在生成节点时添加 node.SelectAction = TreeNodeSelectAction.None;(node.SelectAction = TreeNodeSelectAction.SelectExpand;表示单击该节点可折叠或展开当前节点。)另外一种方法是:
4使用 menu 时,一般不建议使用 frame ,因为会发生遮挡的问题,menu 的显示层级比 frame 低,可以将 menu 和iframe 配合使用,menu 的显示层级比 iframe 高,下拉菜单可以穿越 iframe。
2在 menu 和 treeview 中,如果为 NavigateUrl 赋了值,则执行时先执行 NavigateUrl ,而 Menu_MenuItemClick 和 TreeView1_SelectedNodeChanged 不会触发;若要触发 Menu_MenuItemClick 和 TreeView1_SelectedNodeChanged,则必须放弃对 NavigateUrl 属性的使用,注意:将 NavigateUrl 设置为空置也不行。Menu_MenuItemClick 和 TreeView1_SelectedNodeChanged 同时会引发页面的重新加载。
3在treeview中,如果设置节点不可选择或单击,有两种方法,一种是在生成节点时添加 node.SelectAction = TreeNodeSelectAction.None;(node.SelectAction = TreeNodeSelectAction.SelectExpand;表示单击该节点可折叠或展开当前节点。)另外一种方法是:
<asp:TreeView ID="TreeView1"
runat="server"
Target="_self">
<Nodes>
<asp:TreeNode Text="One"
NavigateUrl="javascript:void(0)" >
<asp:TreeNode Text="Two"
NavigateUrl="javascript:void(0)" />
</asp:TreeNode>
</Nodes>
<SelectedNodeStyle Font-Bold="True" />
</asp:TreeView>
runat="server"
Target="_self">
<Nodes>
<asp:TreeNode Text="One"
NavigateUrl="javascript:void(0)" >
<asp:TreeNode Text="Two"
NavigateUrl="javascript:void(0)" />
</asp:TreeNode>
</Nodes>
<SelectedNodeStyle Font-Bold="True" />
</asp:TreeView>
4使用 menu 时,一般不建议使用 frame ,因为会发生遮挡的问题,menu 的显示层级比 frame 低,可以将 menu 和iframe 配合使用,menu 的显示层级比 iframe 高,下拉菜单可以穿越 iframe。