C# 从所选复选框(复选框数组)获取值

C# 从所选复选框(复选框数组)获取值,c#,asp.net,arrays,checkbox,C#,Asp.net,Arrays,Checkbox,我有一系列的复选框,总共33个。 因为复选框遍布整个页面,所以它需要在一个数组中(对吗?) 后面的代码如下所示: CheckBox[] variableName = new CheckBox[33]; variableName[0] = idCheckBox1; variableName[1] = idCheckBox1; variableName[2] = idCheckBox1; variableName[3] = idChe

我有一系列的复选框,总共33个。 因为复选框遍布整个页面,所以它需要在一个数组中(对吗?)

后面的代码如下所示:

CheckBox[] variableName = new CheckBox[33];

        variableName[0] = idCheckBox1;
        variableName[1] = idCheckBox1;
        variableName[2] = idCheckBox1;
        variableName[3] = idCheckBox1;
等等

ASP.NET:

<asp:CheckBox ID="idCheckBox1" runat="server" Value="1" />
<asp:CheckBox ID="idCheckBox2" runat="server" Value="2" />
...

...
复选框是完全可选的。
现在,如何仅在变量中获取复选框的值?

它不需要是数组。
这就是如何从代码隐藏中选中表单中的所有复选框的方法:

var names = formCollection.AllKeys.Where(c => 
                    c.StartsWith("idCheckBox") && 
                    formCollection.GetValue(c) != null &&
                    formCollection.GetValue(c).AttemptedValue == "1");

此外,也许您可以从CheckBoxList类中受益:您从哪里获得“formCollection”?如果我使用我的form1,就没有所有的键。好吧,在我的例子“form1”中,那么。。。但是当我这样使用它时:var names=form1.AllKeys.Where(c=>c.StartsWith(“idCheckBox”)&&form1.GetValue(c)!=null&&form1.GetValue(c).AttemptedValue==“1”);无法识别AllKey。我正在使用System.Collections…Linq名称空间已经导入:)好吧,当我使用'Request.Form.AllKeys'时,所有键都被识别。奇怪。。。(对不起,不是一个大的c#expert;)