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("","")