在Code后面,获取动态创建的CheckBoxList的所有选中值

时间:2016-02-02 21:29:13

标签: asp.net checkbox webforms controls checkboxlist

在ASP.NET Web窗体中,如何获取以编程方式创建的CheckBoxList的所有选中项。假设我只知道CheckBoxList的ID。

我的猜测是这样的:

var checklist = Find.Control(id);
foreach (ListItem item in checklist)
{
    if (item.Checked)
    {
        ..Do something
    }
}

但这似乎并没有正确地抓住CheckBoxList。

编辑:我发布了我在下面解决它的方式。

2 个答案:

答案 0 :(得分:0)

这可以通过许多不同的方式完成。看看下面这些很棒的链接。基本方法是使用Page.FindControl('')并循环控制。

http://forums.asp.net/t/1134905.aspx

http://devsushi.com/2007/01/19/aspnet-dynamic-controls-part-4/

http://www.java2s.com/Code/ASP/HTML-Control/HTMLTextAreagetinputvalueVBnet.htm

答案 1 :(得分:0)

嗯......所以我可以通过迂回的方式让它工作。

string checkBoxName = "";
string val = "";
for (int j = 0; j < numBoxes; j++)
{
    checkBox = checkBoxListId + "$" + j;
    val += Request[checkbox] + ",";
}

我必须使用CheckBoxList中的项目数,然后循环并使用其名称和Request[]分别获取每个复选框的值。由于CheckBoxList呈现的奇怪方式,我不得不用&#34; $&#34;手动重新创建复选框名称。和数字。