でライブテーブルを開発していますWebForms
。
テーブルに新しい行を追加するときに、各 TableRow の各 TableCell にこのようなコントロールを追加しています。
// in some method, which creates the table
TableRow row = new TableRow();
// here goes other cells with text data
TableCell cellActions = new TableCell();
cellActions.ID = "offerActionsOfferId" + enumerator.Current.offerId;
// init button View More for cell
LinkButton buttonViewExpanded = new LinkButton();
buttonViewExpanded.ID = "buttonViewExpandedOfferId" + enumerator.Current.offerId;
buttonViewExpanded.CssClass = "table-actions-button ic-table-edit";
buttonViewExpanded.Click += new EventHandler(buttonViewExpanded_Click);
buttonViewExpanded.ToolTip = "some alt...";
cellActions.Controls.Add(buttonViewExpanded);
/* end of Action Buttons */
...
row.Cells.Add(cellActions);
this.tableMarket.Controls.Add(row);
しかし、その方法には失敗がありnew EventHandler(buttonViewExpanded_Click)
ます。
テーブルは ASPX ページで適切にレンダリングされ、すべてのコントロールが表示されますが、その LinkButton をクリックしようとするとエラーが発生します。
ブレークポイントをマークし、デバッガーで ASP.NET プログラムの実行をキャッチして、プログラムの動作を分析しようとすると、ページが更新されるだけで、クリック イベント ハンドラーのブレークポイントは 1 つもキャッチされません。
なぜ発生するのですか?そして、それを機能させる方法は?