asp.net 2.0 的 TreeView 控件功能虽说强大,但其客户端控制很逊色,本文将讲解 TreeView 的客户端实现原理,并实现两个个性化操作:
(1) 节点的全部打开和关闭;
Client Side Expand/Collapse All Nodes For ASP.NET 2.0 TreeView.
(2) 只打开一个节点(关闭其他兄弟节点)。
Just one expanded node in ASP.NET 2.0 TreeView (When a client expand one node all other will collaps)
用记事本打开页面源代码,可以找到一下两个脚本引用:

asp.net 2.0 TreeView客户端个性化控制<script src="/WebUI/WebResource.axd?d=RAQeBcDUNuP9iuS8q3tNEw2&amp;t=633300220640000000" type="text/javascript"></script>
asp.net 2.0 TreeView客户端个性化控制
<script src="/WebUI/WebResource.axd?d=JuTdJhq3NM8Jq_RhssAkEg2&amp;t=633300220640000000" type="text/javascript"></script>

    将"/WebUI/WebResource.axd?d=RAQeBcDUNuP9iuS8q3tNEw2&amp;t=633300220640000000"拷到地址栏尾,下载脚本,并以 .js 命名,另一个同样操作。分析第二个脚本文件,可以看到TreeView的很多客户端函数,其中关键的一个 TreeView_ToggleNode 就是客户端点击时触发的事件。
    要想做个性化的操作,就得从 TreeView_ToggleNode 事件下手。我们无法更改.net封装好的脚本,只有“重写”。所谓的重写就是在原来的函数之后添加一个同名函数(因为js对于同名函数只调用最后一个)。

TreeView_ToggleNode 的原函数:

}

1. 节点的全部打开和关闭(Client Side Expand/Collapse All Nodes)

asp.net 2.0 TreeView客户端个性化控制<html xmlns="http://www.w3.org/1999/xhtml">
asp.net 2.0 TreeView客户端个性化控制
<head runat="server">
asp.net 2.0 TreeView客户端个性化控制    
<title>LeftMenu_Tree</title>
asp.net 2.0 TreeView客户端个性化控制
</head>
asp.net 2.0 TreeView客户端个性化控制
<body bgcolor="#DDEDFD">
asp.net 2.0 TreeView客户端个性化控制    
<form id="form1" runat="server">
asp.net 2.0 TreeView客户端个性化控制        
<href="javascript:TreeviewExpandCollapseAll('<%=TreeView1.ClientID%>', true)">Expand
asp.net 2.0 TreeView客户端个性化控制            All
</a> <href="javascript:TreeviewExpandCollapseAll('<%=TreeView1.ClientID%>', false)">
asp.net 2.0 TreeView客户端个性化控制                Collapse All
</a>
asp.net 2.0 TreeView客户端个性化控制        
<asp:TreeView ID="TreeView1" SkinID="tvClass" runat="server" ShowLines="true" NodeWrap="false">
asp.net 2.0 TreeView客户端个性化控制        
</asp:TreeView>
asp.net 2.0 TreeView客户端个性化控制    
</form>
asp.net 2.0 TreeView客户端个性化控制
</body>
asp.net 2.0 TreeView客户端个性化控制
</html>
asp.net 2.0 TreeView客户端个性化控制
>
2. 只打开一个节点,关闭其他兄弟节点(Just one expanded node, all other will collaps)
asp.net 2.0 TreeView客户端个性化控制<html xmlns="http://www.w3.org/1999/xhtml">
asp.net 2.0 TreeView客户端个性化控制
<head runat="server">
asp.net 2.0 TreeView客户端个性化控制    
<title>LeftMenu_Tree</title>
asp.net 2.0 TreeView客户端个性化控制
</head>
asp.net 2.0 TreeView客户端个性化控制
<body bgcolor="#DDEDFD">
asp.net 2.0 TreeView客户端个性化控制    
<form id="form1" runat="server">
asp.net 2.0 TreeView客户端个性化控制        
<href="javascript:TreeviewExpandCollapseAll('<%=TreeView1.ClientID%>', true)">Expand
asp.net 2.0 TreeView客户端个性化控制            All
</a> , <href="javascript:TreeviewExpandCollapseAll('<%=TreeView1.ClientID%>', false)">
asp.net 2.0 TreeView客户端个性化控制                Collapse All
</a>
asp.net 2.0 TreeView客户端个性化控制        
<asp:TreeView ID="TreeView1" SkinID="tvClass" runat="server" ShowLines="true" NodeWrap="false">
asp.net 2.0 TreeView客户端个性化控制        
</asp:TreeView>
asp.net 2.0 TreeView客户端个性化控制    
</form>
asp.net 2.0 TreeView客户端个性化控制
</body>
asp.net 2.0 TreeView客户端个性化控制
</html>
asp.net 2.0 TreeView客户端个性化控制
>

相关文章:

  • 2021-09-26
  • 2022-02-02
  • 2022-01-29
  • 2022-01-31
  • 2021-08-01
猜你喜欢
  • 2021-07-02
  • 2022-02-25
  • 2021-12-19
  • 2022-12-23
  • 2021-08-21
  • 2021-08-03
相关资源
相似解决方案