您当前的位置:首页 > 技术文章 > 程序设计 > 正文

启用TreeView中的OnTreeNodeCheckChanged事件

发布时间:2014年02月06日16时51分  作者:佚名  来源:本站原创  点击次数:2928

ASP.netTreeView控件,设置ShowCheckBox="All",可以显示每个节点的复选框。如果想在选中子节点后,立即自动选中其父节点及其所有祖先节点,仅通过TreeNodeCheckChanged事件,是无法响应相关代码的。

 

原因是,TreeNodeCheckChanged事件:当 TreeView 控件的复选框在向服务器的两次发送过程之间状态有所更改时发生。TreeNodeCheckChanged是服务器端事件。 在单击复选框后,并没有向服务器传递复选框被改变的信息。如果再点击子节点文本,响应选中节点被改变事件SelectedNodeChanged后,会同时响应TreeNodeCheckChanged事件。

 

无效方法:AutoPostBack设为true。【这个对GridView中的复选框有效。】EnableClientScript设为true。直接添加onclick='ClickTree()'。网上的正确答案不好找。

 

有效方法:

 

aspx.cs中:

 

protected void Page_Load(object sender, EventArgs e)

    {

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

 

    }

 

protected void TreeView1_TreeNodeCheckChanged(object sender, TreeNodeEventArgs e)

    {

        //string str=e.Node.ValuePath;

 

        //其他处理代码

    }

 

aspx中:

 

<head runat="server">

 

<script type="text/javascript">

    function postBackByObject()

{

        __doPostBack("","");

}

</script>

 

</head>

 

相关阅读:
■ 最新推荐 > >
探索者互联网舆情系统介绍
效能管理系统介绍
跳转至Gogo人才网系统NET版
Gogo工作室介绍
■ 近期热点 > >

GOGO工作室 Copyright 2005-2018 All Rights Reserved

备案序号:滇ICP备05008799号