테이블을 동적으로 바인딩하는 다음 코드를 사용하는 함수가 있습니다. 페이지로드시이 함수를 호출합니다. 이 메서드가 호출 된 후 테이블에는 세 개의 열, 즉 확인란, 레이블 및 텍스트 상자가 포함됩니다.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);
}
}
}
가 어떻게이 문제를 해결할 수있는 테이블의 모든 행을 찾는되지 클릭?
함수를 호출하는 동안 preinit에서 처음에는 정상적으로 작동하지만 현재는 같은 함수를 호출하는 OnSelectedIndexChange도 있습니다. 드롭 다운에서 값을 변경하고 드롭 다운 목록에서 선택된 인덱스를 클릭하면 문제가 발생합니다. 함수에서 기본값으로 변경되었습니다. – Mac