テーブルを動的にバインドする次のコードを持つ関数があります。私はページの負荷でこの関数を呼び出しています。このメソッドが呼び出されると、テーブルにはチェックボックス、ラベル、およびテキストボックスという3つの列が含まれます。htmlテーブルバインディングの問題
ボタンコントロールもあります。このボタンをクリックすると、テーブル内のチェックボックスをチェックし、チェックボックスに対応するデータベースにデータを挿入します。
ボタンがクリックされたときにチェックボックスのチェックされた状態を保存していないという問題は、以下の関数を呼び出してテーブルのすべての要素が再作成されるページロードを呼び出します。
ボタンをクリックしたときにテーブルが読み込まれるため、ここではPage.IsPostBackを使用できません。 (!Page.IsPostBack)場合、私はクリックボタンの上に、その後の内部以下のコードを記述する場合には、テーブルに
私はこの問題に対処するにはどうすればよいtry
{
ManageVIN objMngVin = new ManageVIN();
DataTable tblVins = objMngVin.MyFunction(clientCode);
if (tblAssociateFleet.Rows.Count > 1)
{
for (int i = 1; i <= tblAssociateFleet.Rows.Count - 1; i++)
{
tblAssociateFleet.Rows[i].Cells.Clear();
}
}
if (tblVins != null && tblVins.Rows.Count > 0)
{
foreach (DataRow dr in tblVins.Rows)
{
HtmlTableRow tblRow = new HtmlTableRow();
tblRow.Attributes.Add("class", "tblrow");
HtmlTableCell tblCell1 = new HtmlTableCell();
CheckBox chk = new CheckBox();
chk.CssClass = "selctChk";
if (!Page.IsPostBack)
{
chk.Checked = false;
}
tblCell1.Controls.Add(chk);
HtmlTableCell tableCelll2 = new HtmlTableCell();
Label lblVinVlaue = new Label();
lblVinVlaue.Text = Convert.ToString(dr["VIN"]);
tableCelll2.Controls.Add(lblVinVlaue);
HtmlTableCell tableCell3 = new HtmlTableCell();
TextBox txtVinVal = new TextBox();
txtVinVal.CssClass = "textEntry";
tableCell3.Controls.Add(txtVinVal);
tblRow.Cells.Add(tblCell1);
tblRow.Cells.Add(tableCelll2);
tblRow.Cells.Add(tableCell3);
tblAssociateFleet.Rows.Add(tblRow);
}
}
}
を任意の行を見つけていませんか?
私は同じ機能を呼び出すOnSelectedIndexChangeのドロップダウンを持っているpreinitから関数を呼び出す間、それは最初に正常に動作します 問題は、ドロップダウンで値を変更し、関数内でデフォルトに変更されました。 – Mac