ここに私のコードがあります -
dtDetails = getDataSet();
foreach (DataRow dr in dtDetails.Rows) {
int rowID = 1;
HtmlTableRow row = new HtmlTableRow();
{
HtmlTableCell cell = new HtmlTableCell();
TextBox tb = new TextBox();
tb.ID = "tbJanuary" + rowID;
tb.Text = dr["Jan"].ToString();
cell.Controls.Add(tb);
row.Cells.Add(cell);
}
rowID ++;
}
これを最初に実行すると、テキストボックス内に正しい値が表示されます。
ただし、ページのボタンをクリックしてデータベースの値を更新すると、予想される PostBack が発生します。このループに戻ると、dr["Jan"].ToString() は新しい正しい値ベースを持っていますが、oage のテキスト ボックスは更新されません。
コードをこれに変更すると-
dtDetails = getDataSet();
foreach (DataRow dr in dtDetails.Rows) {
int rowID = 1;
HtmlTableRow row = new HtmlTableRow();
{
HtmlTableCell cell = new HtmlTableCell();
Label lbl = new Label();
lbl.ID = "lblJanuary" + rowID;
lbl.Text = dr["Jan"].ToString();
cell.Controls.Add(lbl);
row.Cells.Add(cell);
}
rowID ++;
}
ラベルには正しい新しい値が含まれています。
テキスト ボックスに正しい値が表示されないのはなぜですか?