0

ASP.WebSite を使用して、aspx.cs にいくつかのフォーム コントロールを動的に追加しました。

form1.Controls.Add( " Object of Control ");

また、aspxファイルのフォームにボタンを既に追加しています

<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Add" UseSubmitBehavior="false" />

プログラムを実行すると、次のように Button1 が HTML 送信ボタンに変換されます

<input type="button" name="Button1" value="Add" onclick="javascript:__doPostBack('Button1','')" id="Button1" />

フォームタグは次のようになります

<form name="form1" method="post" action="Add1.aspx" id="form1" enctype="multipart/form-data">

Button1 をクリックすると、コード ビハインドで関数を呼び出す代わりに、フォームが送信されます。

Button1 の OnClick イベントで指定されたメソッドButton1_Clickを呼び出すにはどうすればよいですか?

助けてください。

4

3 に答える 3

4

コードビハインドでクリック イベント ハンドラーを実装しましたか?

protected void Button1_Click(Object sender, EventArgs e)
{
    Button btn = (Button)sender;
}

Button.Click イベント

宣言的に追加されるため、この質問が動的制御の 質問にどのように関連しているかわかりません。Button1

于 2012-04-25T12:33:21.087 に答える
1

次のように、ボタン コントロールを動的に追加する必要があります。

    b1.ID = "EDIT";
    b1.Text = "Add";
    b1.Click +=new System.EventHandler(this.Button1_Click);
    b1.Style["Position"] = "Absolute";
    b1.Style["Top"] = "10px";
    b1.Style["Left"] = "20px";
    form1.Controls.Add(b1);

これで、Button1 のクリック イベントで関数 Button1_Click が呼び出されます。この場合、Button1_Click関数を手動で作成する必要があります。つまり、デザイン ページをダブルクリックするだけではありません。

于 2012-04-26T09:51:53.137 に答える
-2

動的に追加するコントロールは、ページの読み込み時に追加する必要があります。

その後、それはうまくいきます。

于 2012-04-25T13:00:30.893 に答える