2003中的TreeView,选中某个节点的checkbox框后,就会自动触发服务器端的事件TreeNodeCheckChanged,而2005中,改变checkbox框的选择状态,只是纯粹的客户端事件,不会触发服务器端事件.只有当页面回发,才会执行相应的TreeNodeCheckChanged事件. 而实际应用中,可能需要改变某个选择框后,回发页面.在网上搜索了一下,终于找到了解决方法.
当点击TreeView后,触发一个脚本,判断点击的对象,如果是checkbox,则强制回发页面.
1
<asp:TreeView ID="tvList" runat="server" onclick="ClickTree()" OnTreeNodeCheckChanged="tvList_TreeNodeCheckChanged" ShowCheckBoxes="All" >
2
</asp:TreeView>
ClickTree()脚本如下
function ClickTree()
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
{
var o = window.event.srcElement;
if (o.tagName == "INPUT" && o.type== "checkbox")
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
__doPostBack("","");
}
}