0

我对这个主题进行了研究,但找不到正确的答案。

在我的 default.aspx 页面中,我有一个树视图。代码在 default.aspx 中,如下所示:

 protected void Page_Load(object sender, EventArgs e)
 {

 }
 protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e)
 {
      Control ucont;
      if (TreeView1.SelectedNode.Value == "Yeni Dönem")
      {
         ucont = LoadControl("usercontrols/yenidonem.ascx");
         PlaceHolder1.Controls.Add(ucont);
      }
      else
      {
         ucont = LoadControl("usercontrols/tabloktar.ascx");
         PlaceHolder1.Controls.Add(ucont);
      }
 }

我动态加载用户控件。用户控件具有按钮控件。当我动态加载它时,我无法触发用户控件的按钮单击。我该如何解决这个问题?谢谢。

4

1 回答 1

0

首先,我不建议在Page_Load事件之后动态添加控件。其他要记住的事情是,您应该在每次页面加载时添加它ID,并为在回发之间不会更改的控件分配唯一值。

在这种情况下,最简单的方法是始终将两个控件都添加到页面并使用Visibility属性显示适当的一个。

如果这不适合您,请尝试将代码从TreeView1_SelectedNodeChanged事件移动Page_Load并在每个回发上加载适当的控件,直到它应该更改为另一个。

我没有对此进行测试,所以如果您在使用这个答案时有任何问题,请在评论中告诉我,我会尽力提供帮助。

于 2013-09-08T18:58:29.090 回答