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