0

私のプログラムでは、以下のコードで動的にボタンを使用しました。

Button button = new Button();  
button.ID = counter.ToString();
button.Text = "ok";
button.Click += new EventHandler(this.ButtonClick);

list.Controls.Add(button);

そして、私は以下のようなクリックイベントのコードを追加しました:

private void ButtonClick(object sender, EventArgs e)
{
    //..
}

いくつかの解決策があります:

C#ボタンが起動しませんか?

動的に作成されたボタンが起動しないクリックイベント

私はそれらを読んで適用しましたが、問題を解決できません。

私の動的ボタン操作はに配置されPage_Loadます。(試してみましたがPage_Init、二度と発射されませんでした。)

デバッグするために、ブレークポイントを使用します。私はそれをに置きPage_Load、初めてページが機能し、プログラムがブレークポイントで停止し、次に続行します。動的ボタンをクリックした後、コードは起動されませんでした...

以下の私Page_Loadのように:

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
         //..
         case "button":

         Button button = new Button();  
         button.ID = counter.ToString();
         button.Text = "ok";
         button.Click += new EventHandler(this.ButtonClick);


         list.Controls.Add(button);
         break;
    }
}
4

2 に答える 2

2

Webフォームでコントロールを動的に作成する場合、ポストバックごとに再度動的に再作成する必要があります。

Web フォーム ページのライフサイクルを確認し、イベントが発生する前に、初期化前の段階でコントロールを再登録してください。

于 2012-12-31T14:03:04.517 に答える
0

Web フォームで動的なボタン コントロールを作成するには、必要な場所にボタンにオフセット値を指定してください。

于 2013-02-01T18:16:59.480 に答える