1

動的に作成ImageButtonしてこれを表のセルに追加すると

TableRow tr = new TableRow();
TableCell tc = new TableCell();
ImageButton imagebutton= new ImageButton();
imagebutton.imageurl=imageurl;
imagebutton.click+= new System.Web.UI.ImageClickEventHandler(click);
tc.Controls.Add(imagebutton);
tr.Controls.Add(tc);
Table1.Rows.Add(tr);

クリックイベントが機能しません。

ただし、Panelテーブルの代わりに使用すると機能しimagebuttonます。Morevoer imagebutton をpage直接追加すると、それも機能します。しかし、私はに保存imagebuttonする必要がありtable cellます。

問題とは何ですか?imagebutton内部で作業する方法はasp table

メソッドのクリックは次のとおりです。

protected void click(object sender, EventArgs e)
{
      Response.Write("<script type='text/javascript'>alert('OK!');</script>"); 
}
4

1 に答える 1

1

問題とは何ですか?

これは、古典的なasp.netページのライフサイクルの問題のようです。原因はおそらく、クリックを処理する必要があるときに、ボタンとテーブルが存在しないためです。これは、ページのライフサイクルの後半で作成するため (pre_render など)、またはオンになっていないときにのみ作成するためです。ポストバック、または別のコントロール イベント ハンドラーで。

aspテーブル内で動作するイメージボタンを作成するには?

テーブルとボタンの作成、およびクリック ハンドラー バインディングは次の場所に配置する必要があります。

page_load (動的コントロールに view_state を使用する場合、Init でさらに良い)

コードは、ポストバックの有無にかかわらず実行する必要があります。

これが役立つことを願っています

于 2012-10-08T11:43:20.763 に答える