C# 如何将动态添加的复选框选中的项目添加到列表中?
我根据所选站点动态创建复选框。因此,如果一个站点有4个连接到它的喷嘴,代码将创建4个复选框,如果它有2个,则只会创建2个复选框 我需要根据正在检查的喷嘴提取一份报告。因此,我的想法是将选中的项添加到列表中,然后遍历该列表,并对找到的每个id执行查询。因此,它可以提取所选每个喷嘴的所有记录 下面是我用来创建喷嘴复选框的代码。它们正在被重新创造!ispost-back方法。我只是不知道如何获取选中的项目并将其添加到列表中。我想我可以在选中或取消选中它们时添加或删除它们,或者循环检查每个复选框,只将选中的喷嘴添加到列表中 aspx:C# 如何将动态添加的复选框选中的项目添加到列表中?,c#,asp.net,C#,Asp.net,我根据所选站点动态创建复选框。因此,如果一个站点有4个连接到它的喷嘴,代码将创建4个复选框,如果它有2个,则只会创建2个复选框 我需要根据正在检查的喷嘴提取一份报告。因此,我的想法是将选中的项添加到列表中,然后遍历该列表,并对找到的每个id执行查询。因此,它可以提取所选每个喷嘴的所有记录 下面是我用来创建喷嘴复选框的代码。它们正在被重新创造!ispost-back方法。我只是不知道如何获取选中的项目并将其添加到列表中。我想我可以在选中或取消选中它们时添加或删除它们,或者循环检查每个复选框,只将选
喷嘴:
代码隐藏:(标签仅用于间距)
protectedvoid Selected\u SelectedIndexChanged(对象发送方,事件参数e)
{
getsitenzone();
}
void getsitenzone()
{
如果(Selected.SelectedValue!=“全部”)
{
如果(Type.SelectedValue==“喷嘴”)
{
Table Table=新表();
表1.宽度=200;
TableCell=新的TableCell();
列表检查=Helpers.get喷嘴(Selected.SelectedValue);
//创建新行、单元格和复选框
TableRow行=新TableRow();
foreach(检查中的var项目)
{
复选框cb=新复选框();
标签lb=新标签();
lb.宽度=5;
//设置一些复选框属性
cb.Text=“喷嘴”+项目;
cb.ID=“389;”+项目;
cb.TextAlign=TextAlign.Left;
//将复选框添加到单元格中
cell.Controls.Add(cb);
单元格.控件.添加(lb);
//将单元格移到第一行
行.控件.添加(单元格);
}
//把这一行放到桌子上
table.Controls.Add(行);
//最后将表添加到页面中
controleplaceholder.Controls.Add(表);
}
}
其他的
{
typeNoz.Visible=false;
}
问题在于您在页面中添加的控件没有维护viewstate如何使它们维护viewstate?
<tr style="color: white" id="typeNoz" visible="false" runat="server">
<td>Nozzle(s):
</td>
<td id="checkboxes" runat="server">
<asp:PlaceHolder runat="server" ID="controleplaceholder" />
</td>
</tr>
protected void Selected_SelectedIndexChanged(object sender, EventArgs e)
{
getSiteNozzle();
}
void getSiteNozzle()
{
if (Selected.SelectedValue != "All")
{
if (Type.SelectedValue == "Nozzles")
{
Table table = new Table();
table.Width = 200;
TableCell cell = new TableCell();
List<string> check = Helpers.getNozzle(Selected.SelectedValue);
//create a new row, cell and checkbox
TableRow row = new TableRow();
foreach (var item in check)
{
CheckBox cb = new CheckBox();
Label lb = new Label();
lb.Width = 5;
//set some checkbox properties
cb.Text = "Nozzle " + item;
cb.ID = "_" + item;
cb.TextAlign = TextAlign.Left;
//add the checkbox to the cell
cell.Controls.Add(cb);
cell.Controls.Add(lb);
//the cell to the row
row.Controls.Add(cell);
}
//and the row to the table
table.Controls.Add(row);
//finally add the table to the page
controleplaceholder.Controls.Add(table);
}
}
else
{
typeNoz.Visible = false;
}