我使用转发器在内容页面中生成复选框
这两个复选框都有一个唯一的ID,
但是,复选框是通过循环字符串
生成的<input id=\"Checkbox" + i+ "-" + j + "\" type=\"checkbox\" name=\"CollapseID" + i + "\" />
它可以在网页中正确显示,具有正确的ID及其名称。 而且,我可以通过javascript控制它。
我想问一下,我怎么知道在服务器端检查了那些复选框?
我尝试使用以下代码,但返回null。
foreach (Control control in this.Page.Form.Controls)
{
if (control is CheckBox)
{
string checkboxValue = ((CheckBox)control).Text;
}
}
另外,我试过了:
Control chk = FindControl("Checkbox1-1"); // where "Checkbox1-1" is the checkboxID
和
HtmlInputCheckBox chk = (HtmlInputCheckBox)FindControl("Checkbox1-1");
但也返回null ...
感谢您的帮助!
答案 0 :(得分:0)
您应该在复选框中将属性写为runat="server"
。
然后
CheckBox cx= repeaterName.FindControl("checkboxId") as CheckBox;
我认为这对你有用。
答案 1 :(得分:0)
如果您使用字符串创建这些复选框,然后将它们转储为HTML。它们将被视为html复选框,无法在服务器端访问。你只能在javascript中选中复选框..你可以将这些值分配给任何隐藏的服务器控件,然后在服务器端使用它。