• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Asp.net2.0的TreeView客户端个性化控制(转帖自Meazza-asp.net作为本人的备忘记录) ...

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
ASP.NET 2.0 的 TreeView  控件功能虽说强大,但其客户端控制很逊色,本文将讲解 TreeView 的客户端实现原理,并实现两个个性化操作:

  

(1) 节点的全部打开和关闭;

TreeNode Expand(or Collapse) all

(2) 只打开一个节点(关闭其他兄弟节点)。

just one node expanded(when a client expand one node all other will collaps)

用记事本打开页面源代码,可以找到一下两个脚本引用:

 

 

<script src="/WebUI/WebResource.axd?d=RAQeBcDUNuP9iuS8q3tNEw2&amp;t=633300220640000000" type="text/javascript">
</script>
 
<script src="/WebUI/WebResource.axd?d=JuTdJhq3NM8Jq_RhssAkEg2&amp;t=633300220640000000" type="text/javascript">
</script>

 

将"/WebUI/WebResource.axd?d=RAQeBcDUNuP9iuS8q3tNEw2&t=633300220640000000"拷到地址栏尾,下载脚本,并以 .js 命名,另一个同样操作。分析第二个脚本文件,可以看到TreeView的很多客户端函数,其中关键的一个 TreeView_ToggleNode 就是客户端点击时触发的事件。

  要想做个性化的操作,就得从 TreeView_ToggleNode 事件下手。我们无法更改.net封装好的脚本,只有“重写”。所谓的重写就是在原来的函数之后添加一个同名函数(因为js对于同名函数只调用最后一个)。

 

  TreeView_ToggleNode 的原函数:

 

 

 

  }

 

   1. 节点的全部打开和关闭:

 

 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    
<title>LeftMenu_Tree</title> 
</head> 
<body bgcolor="#DDEDFD"> 
    
<form id="form1" runat="server"> 
        
<a href="javascript:TreeviewExpandCollapseAll('<%=TreeView1.ClientID%>', true)">Expand 
            All
</a> <a href="javascript:TreeviewExpandCollapseAll('<%=TreeView1.ClientID%>', false)"> 
                Collapse All</a> 
        <asp:TreeView ID="TreeView1" SkinID="tvClass" runat="server" ShowLines="true" NodeWrap="false"> 
        
</asp:TreeView> 
    </form> 
</body> 
</html> 

<script language="javascript"> 
//----------------------------------------------------------------------------- 
function $(s) 
function isNull(_sVal) 

function TreeviewExpandCollapseAll(treeViewId, expandAll) 
script>

 

2. 只打开一个节点(关闭其他兄弟节点)

 

 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    
<title>LeftMenu_Tree</title> 
</head> 
<body bgcolor="#DDEDFD"> 
    
<form id="form1" runat="server"> 
        
<a href="javascript:TreeviewExpandCollapseAll('<%=TreeView1.ClientID%>', true)">Expand 
            All
</a> , <a href="javascript:TreeviewExpandCollapseAll('<%=TreeView1.ClientID%>', false)"> 
                Collapse All</a> 
        <asp:TreeView ID="TreeView1" SkinID="tvClass" runat="server" ShowLines="true" NodeWrap="false"> 
        
</asp:TreeView> 
    </form> 
</body> 
</html> 

<script language="javascript"> 
//2. 只打开一个节点(关闭其他兄弟节点)------------------------------------------ 
function TreeView_ToggleNode(data, index, node, lineType, children)  
script>

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
『原创』以学论道之ASP.NET中的文件流操作发布时间:2022-07-10
下一篇:
github种的asp.netcore源代码发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap