即使未在UI中检查,TreeView节点在回发时始终具有.Checked = true

时间:2010-03-15 01:07:52

标签: asp.net treeview checkbox postback

我的.aspx中有一个树视图:

<asp:TreeView ID="tvDocCatAndType" runat="server" />

页面中没有其他内容 - 两个<asp:LinkButtons>和一个<asp:Label>;该页面是母版页的子页面,因此这些控件位于<asp:Content>控件内。我在代码中填充树视图 - 只有3个节点级别,包括根节点。所有节点都有复选框,我初始化所有node.Checked为true。当有父节点和子节点复选框被切换时,我有一些Javascript来执行常规检查/取消选中树上下来。

无论我在UI中清除多少个复选框,在回发时每个节点都有node.Checked = true,无论UI中的复选框状态如何。

这不是我第一次使用树视图,但我以前从未遇到过这个问题。我通过对早期项目进行轻微改编来创建此页面,该项目工作正常。提前感谢任何有用的评论或问题,

克里斯

1 个答案:

答案 0 :(得分:0)

在错误的地方闲逛...填充树视图的代码和处理已检查节点的代码就好了。我的错误是在Page_Load中,我无条件地调用填充例程,所以我总是在回发之前将树视图重置为全部检查状态,然后检查正在执行的已检查节点的代码。杜!