TreeNodeCheckChanged
无法在我的ASP.Net应用程序中运行。
<asp:TreeView ID="TreeView1" ShowCheckBoxes="All" runat="server"
OnTreeNodeCheckChanged="TreeView1_TreeNodeCheckChanged">
</asp:TreeView>
protected void Page_Load(object sender, EventArgs e)
{
if (!this.Page.IsPostBack)
{
TreeView(); //bind manually
}
}
我该如何解决这个问题?
答案 0 :(得分:2)
您如何约束TreeView
?
我猜你对每个Page_Load
(或Page_Init
,无论如何)都具有约束力,无论this.Page.IsPostback
如果您在Asp.net生命周期中达到TreeView
之前重新绑定EventHandler
,则会取消所有应引发的事件,例如:您的OnTreeNodeCheckedChanged
活动
仅绑定
if(!this.Page.IsPostBack)
{
// insert your initial binding of your treeview here
}
回发后,您必须在执行所需的事件处理程序后重新绑定
修改强>:
您需要手动强制PostBack
,因为TreeView
不会触发Postback
更改已呈现复选框的Checked属性。
尽管
TreeNodeCheckChanged
事件在回发后被触发,正在改变 复选框不会导致帖子 回来。