テキスト ボックスを動的に追加し、ボタンのクリック時にテキスト ボックスに入力されたデータを取得しようとしています。しかし、何が起こっているのかというと、テキスト ボックスにデータを入力したにもかかわらず、ボタンをクリックすると、ページが読み込まれ、コントロールが再度作成されます。その結果、テキスト ボックスのデータが失われています。動的に作成されたテキスト ボックスに入力されたこのデータをキャプチャする方法を教えてください。私のサンプルコードは次のとおりです。
protected void Page_Load(object sender, EventArgs e)
{
Table tblTextboxes = new Table();
for(int i=0;i<10;i++)
{
TableRow tr=new TableRow();
TableCell tc=new TableCell();
TextBox tb=new TextBox();
tb.ID=i.ToString();
tc.Controls.Add(tb);
tr.Cells.Add(tc);
TableCell tc1=new TableCell();
LinkButton lnk=new LinkButton();
lnk.ID=i.ToString()+tb.Text+"lnk";
lnk.Text = "Show";
lnk.Click+=new EventHandler(lnk_Click);
tc1.Controls.Add(lnk);
tr.Cells.Add(tc1);
tblTextboxes.Rows.Add(tr);
}
placeTest.Controls.Add(tblTextboxes);
}
void lnk_Click(object sender, EventArgs e)
{
LinkButton lnk=sender as LinkButton;
Label lbl=new Label();
lbl.Text="The text is"+lnk.ID;
placeTest.Controls.Add(lbl);
}