Loadcontrol事件正在运行但如何?

时间:2011-08-20 08:36:36

标签: asp.net user-controls loadcontrol

网页代码:

public partial class Default2 : Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

        Uctest ctrl = (Uctest) this.LoadControl("Uctest.ascx");
        ctrl.ID = "aaa111";
        Page.Controls.Add(ctrl);
    }
}

Ascx代码:

public partial class Uctest : UserControl
{
    protected void btn1_Click(object sender, EventArgs e)
    {
    }
}

我有一个页面 ascx 。 ascx包含 asp:按钮 asp:textbox

我的目标是进入'btn1_Click'活动。

这是有效的。 - 当我按下按钮时,它会进入事件并且一切正常。

但我不明白为什么。 因为每个回发它都是RECREATING CONTROL AGAIN ,所以他怎么知道将按下的事件附加到即将发布的新创建的ascx (因为回发)?​​

1 个答案:

答案 0 :(得分:0)

当您回发时,您将重新创建用户控件。

包含事件方法的用户控件是设置事件委托的用户控件,因此每次创建用户控件的实例时,它都会创建事件方法并附加它。