treeview的TreeNodeCheckChanged事件,当checkbox的选择状态改变时,在客户端回发的到服务器的时候会触发该事件。

但事实是选择checkbox时没有响应该事情,那是因为treeview控件没有给checkbox添加客户端回发事件。所以问题的症结在

于,没有回发事件,解决方案当然是给checkbox添加回发事件。

1>在服务器端给treeview添加客户端的onclick事件

1 protected void Page_Load(object sender, EventArgs e)
2 {
3     treeView.Attributes.Add("onclick", "postBackObj()");
4 }

2>在客户端js脚本中添加方法postBackObj

1 <script type="text/javascript">
2     function postBackObj() {
3         var o = event.srcElement;
4         if (o.targetName == "INPUT" && o.type == "checkbox") {
5             __doPostBack("", "");
6         }
7     }
8 </script>

注释:__doPostBack方法是每个回发事件都必须调用的方法,如果页面调用了异步控件UpdatePanel,用__doPostBack("UpdatePanelId",""),如果是

       同步不带任何参数__doPostBack("","")

 

posted on 2012-09-18 17:06  itprobie-菜鸟程序员  阅读(1794)  评论(0编辑  收藏  举报