以下のコードを使用して、ページの読み込み時にプログラムでテキストボックスを作成しました。
HtmlTableRow row = new HtmlTableRow();
HtmlTableCell cell1 = new HtmlTableCell();
HtmlTableCell cell2 = new HtmlTableCell();
cell1.Controls.Add(new Label() { ID = LableID1, Text = Name });
cell2.Controls.Add(new TextBox() { ID = TextBoxID1 });
row.Cells.Add(cell1);
row.Cells.Add(cell2);
dynamictable.Rows.Add(row);
ボタンクリックイベントでは、テキストボックスから値を取得し、その値を以下のように静的に作成された別のテキストボックスに割り当てようとしています:
string id = TextBoxID1
TextBox tb = (TextBox)dynamictable.FindControl(id);
string valuetext = tb.Text;
TextBox1.Text = valuetext;
オブジェクト参照エラーが発生しています。つまり、コントロールを検索して TextBox を作成することができません。
以下の方法でもTextBoxを作成しようとしました:
TextBox tb = (TextBox)form1.FindControl(id);
TextBox tb = (TextBox)this.form1.FindControl(id);
TextBox tb = (TextBox)page.FindControl(id);
どんな助けでも私にとって非常に役に立ちます。