ボタンクリック時に動的に作成されたチェックボックスから読み込もうとしています。問題は、チェックボックスをオンにすると、サブミット時に未確認の操作が正しく読み取られないことです。動的に作成されたチェックボックスから間違った値を取得する
EDIT:このチェックボックスは、図のようにSetSelection
を呼び出して、ラジオボタンリストの選択時に最初に作成されます。
コードスニペットは下に表示されていますが、考えられる原因は何でしょうか?
protected void Page_Load(object sender, EventArgs e)
{
if (this.IsPostBack)
{
..
GenerateDynamicUI();
}
...
}
private void GenerateDynamicUI(int selectedItem)
{
...
TableCell cellCheckBox = new TableCell();
CheckBox chkBox = new CheckBox();
chkBox.Text = "Consider all";
chkBox.ID = "chkAll";
cellCheckBox.Controls.Add(chkBox);
TableRow chkRow = new TableRow();
chkRow.Cells.Add(cellCheckBox);
table.Rows.Add(chkRow);
}
protected void btnSubmit_Click(object sender, EventArgs e)
{
...
bool isChecked = ((CheckBox)table.FindControl("chkAll")).Checked;
}
private void SetSelection()
{
int selectedItem = int.Parse(radiobuttonList.SelectedItem.Value);
GenerateDynamicUI(selectedItem);
pnlDynamic.Visible = true;
}
protected void radiobuttonList_SelectedIndexChanged(object sender, EventArgs e)
{
SetSelection();
}
このチェックボックスは、Webフォームコードに既に存在するのですか、それともポストバックで作成されますか? –
ポストバック時に作成されます。 – devnull
GenerateDynamicUIメソッドで動的に作成されます。 – Brissles