在一个APSX文件中定义了一个TreeView控件:
    <asp:TreeView ID="TreeView1" runat="server"
        ImageSet="Contacts" NodeIndent="10" ShowLines="True"  OnTreeNodeCheckChanged="tv_NodeCheckChanged" >
        <ParentNodeStyle Font-Bold="True" ForeColor="#5555DD" />
        <HoverNodeStyle Font-Underline="False" />
        <SelectedNodeStyle Font-Underline="True" HorizontalPadding="0px" VerticalPadding="0px" />
        <Nodes>
……
        </Nodes>
        <NodeStyle Font-Names="Verdana" Font-Size="8pt" ForeColor="Black" HorizontalPadding="5px"
            NodeSpacing="0px" VerticalPadding="0px" />
    </asp:TreeView>同时为OnTreeNodeCheckChanged事件申明了相应的函数tv_NodeCheckChanged。
在ASPX.CS文件中,tv_NodeCheckChanged的函数如下:
protected void tv_NodeCheckChanged(object sender, TreeNodeEventArgs e)    {
    labelInfo.Text = "NodeCheckChanged";
}
但为什么无论怎么点击CheckBox,tv_NodeCheckChanged都不会被调用?

解决方案 »

  1.   

    TreeView哪里有AutoPostBack属性?
      

  2.   

    <asp:TreeView  onclick="javascript:GoClick();"
    <script>
        function GoClick()
        {
            if(event.srcElement.tagName.toLowerCase() == "input")
            {
                //alert(event.srcElement.nextSibling);
                event.srcElement.nextSibling.click();
                
            }
        }
    </script>
    ------说错了莫怪,别给分就是了。
      

  3.   

    那OnTreeNodeCheckChanged为何不会响应呢?另,幕白兄,估计你已经有好几万分了,怎么还要分呢?我这里也有几万分,现刚刚开始搞ASP.NET + C#,问题多的是,你等着,呵呵
      

  4.   

    那OnTreeNodeCheckChanged为何不会响应呢?
    ============
    因为点checkbox 时.没有postback服务器不知道.
    2.
    好啊.这东西跟钱一样,没有人会嫌多的.
    ------说错了莫怪,别给分就是了。
      

  5.   

    呵呵,checkbox选中后再点一下节点,就会提交了,也就是会触发onTreeCheckChanged事件了