0

ページ コード :

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:buttonasp:textboxが含まれています

私の目標は、「btn1_Click」イベントに到達することです。

これは機能しています。- ボタンを押すと、イベントに移動し、すべて問題ありません。

しかし、私はその理由を理解できません。各ポストバックは CONTROL AGAINを RECREATING しているため、押されたイベントを次の新しく作成された ascxにアタッチすることをどのように知るのでしょうか(ポストバックのため) ??

4

1 に答える 1

0

ポストバックすると、ユーザー コントロールが再作成されます。

イベント メソッドを含むのはユーザー コントロールであり、イベントの委譲を設定するのはユーザー コントロールであるため、ユーザー コントロールのインスタンスを作成するたびに、イベント メソッドも作成してアタッチすることは理にかなっています。

于 2011-08-20T08:50:54.170 に答える