asp.net - 如何在不使用javascript的情况下检查动态复选框?
问题描述
所以,我在 acheckbox1
中动态添加了modal bootstrap
一个CheckedChanged
事件,它也("checkbox1.1" "checkbox1.2" "checkbox1.3")
动态添加了一些复选框,所以我的问题是,当我postback
(在提交或链接按钮上)我怎么知道我checkbox1.1
的是否被选中?我实际上可以知道我checkbox1
是否被选中,因为我重新创建了每一个控件,postback
但checkbox1.1
我不能,因为它总是取决于我checkbox1
是否被选中。checkbox1.1
有没有办法我可以在不重新创建的情况下获得它postback
?(javascript
如果可能,不使用)。
我已经尝试过,列表,字典,会话,视图状态,如果我不重新创建控件(checkbox1.1),我无法保存它们,它们会丢失
foreach (DataRow item in dt.Rows)
{
i++;
CheckBox chk = new CheckBox();
chk.Attributes["class"] = "mycheckbox";
chk.Font.Name = "Tahoma";
chk.Attributes.Add("runat", "server");
chk.Text = item[descricao].ToString();
//If true add checkbox id = checkbox1
if (divsname.ID == "DadosIdentificacao")
{
chk.ID = checkbox + i;
chk.AutoPostBack = true;
chk.CheckedChanged += new EventHandler(this.chkEventos);
}
//Else checkboxid = checkbox1.1
else
{
chk.ID = checkbox + item[descricao].ToString() + i;
}
divsname.Controls.Add(chk);
ListData.Add(chk);
}
我可以得到是否checkbox1
被选中,但我的checkbox1.1
控制消失了postback
。
解决方案
解决方法不是动态创建我的复选框,而是用我的所有复选框填充Session["list"],然后创建一个新列表List List1 = Session["list"] 作为 List并通过隐藏或显示我的复选框来使用相同的 List1 .
推荐阅读
- postgresql - 来自 K8s 部署 yaml 文件的 Postgres DB URL 字符串
- vector - 如何在 CPLEX 上编写带有向量的范围?
- web - 如何将 URL 重定向到 IP
- python - python中的列表项排列
- vb.net - 如何防止用户点击标签 - Visual Basic
- java - 扫雷程序超过时限
- hadoop - Cloudera 沙盒 2.6.5 不保存设置
- xml - 如何打印 x:include 层次结构
- tensorflow - 如何在 CNN 和 LSTM 架构中添加 dropout 来处理过拟合问题,TensorFlow
- java - 我如何在 Spring 中对 GET 请求使用复杂的验证条件