TreeView控件的一些关于节点的CheckBox使用

本文介绍了在ASP.NET中使用TreeView控件时遇到的CheckBox问题,详细阐述了如何解决TreeNodeCheckChanged事件未正确触发的问题。通过在后台添加属性并配合前端JavaScript实现事件监听。同时,提供了当点击节点时,子节点的选中状态与其保持一致的实现方法,包括一个递归函数`CheckNode`来确保所有子节点的check状态与父节点一致。
摘要由CSDN通过智能技术生成

我们可以很方便的用asp.net的方法生成目录树,不过使用过程中也发现一些问题。

比如在节点前可以添加checkbox,然后通过这些checkbox添加一些操作。

改变checkbox状态的事件应该是TreeNodeCheckChanged,但是实际上这个方法在点击checkbox的时候并没有被正确的激发。

解决方法如下。

后台对treeview添加属性:

TreeView1.Attributes.Add("onclick", "AddPostBack()");

前台添加js方法:

function AddPostBackt() {
            var o = window.event.srcElement;
            if (o.tagName == "INPUT" && o.type == "checkbox") {
                __doPostBack("", "");
            }
        }

这样TreeNodeCheckChanged事件可以正确激发了

用e.Node就能取得当前的节点

下面添加下点击某个节点,子节点的选中状态与其保持一致的方法

//选择treeview的节点前的checkbox引发的事件
    protected void TreeView1_TreeNodeCheckChanged(object sender, TreeNodeEventArgs e)
    {

        if (e.Node.ChildNodes.Count > 0)     //判断是否有子节点
        {

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值