asp.net动态用户控制按钮点击问题

时间:2013-09-08 17:47:02

标签: asp.net user-controls

我研究过这个问题我找不到合适的答案。

在我的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);
      }
 }

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

1 个答案:

答案 0 :(得分:0)

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

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

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

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