我研究过这个问题我找不到合适的答案。
在我的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。用户控件具有按钮控件。当我动态加载它时,我无法触发用户控件的按钮单击。我怎么解决这个问题? 感谢。
答案 0 :(得分:0)
首先,我建议不要在Page_Load
事件之后动态添加控件。要记住的其他事项是,您应该在每个页面加载时添加它,并为回发之间不会更改的控件分配唯一的ID
值。
在这种情况下,最简单的方法是始终将两个控件添加到页面并使用Visibility
属性显示适当的控件。
如果这不适合您,请尝试将代码从TreeView1_SelectedNodeChanged
移至Page_Load
事件,并在每次回发时加载适当的控件,直到将其更改为另一个。
我没有对此进行测试,所以如果你在使用这个答案时有任何问题,请在评论中告诉我,我会尽力帮助。