gpt4 book ai didi

c# - 从动态创建的复选框中获取错误值

转载 作者:太空狗 更新时间:2023-10-30 00:55:59 26 4
gpt4 key购买 nike

我正在尝试从单击按钮时动态创建的复选框中读取数据。问题是一旦复选框被选中,进一步的取消选中操作在提交点击时无法正确读取。

编辑:复选框最初是通过调用 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();
}

最佳答案

我重新创建了您的示例,它运行良好。我只能想象您的代码中还有其他原因导致了意外行为。

尝试使用 Page_PreInit 事件而不是 Page_Load 来重新创建/操作您的动态控件:

protected void Page_PreInit(object sender, EventArgs e)
{
// create controls here
GenerateDynamicUI();
}

更多信息:http://msdn.microsoft.com/en-us/library/ms178472.aspx

我认为“未正确准备”是指它保持 True 并且在您第一次检查后永远不会返回 False

关于c# - 从动态创建的复选框中获取错误值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8871347/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com