C# 如何为列表中的每个条目设置ASP复选框?

C# 如何为列表中的每个条目设置ASP复选框?,c#,asp.net,controls,web-controls,C#,Asp.net,Controls,Web Controls,我想在我的asp代码中执行以下操作: <% foreach Record record in listOfRecords { %> <asp:checkbox runat="server" id="employeeIdNumber" /> <p>Employee's Name: <%= record.name %> </p> <p>Employee's Phone Number: <%= record.phoneN

我想在我的asp代码中执行以下操作:

<%
 foreach Record record in listOfRecords
{
 %>
<asp:checkbox runat="server" id="employeeIdNumber" />
<p>Employee's Name: <%= record.name %> </p>
<p>Employee's Phone Number: <%= record.phoneNumber %></p>
<%
}
%>

员工姓名:

员工电话号码:


问题是复选框id是字符串文字。如何为每个员工的复选框指定唯一的id?

我认为您应该改用Repeater

<asp:Repeater ID="rptEmployees" runat="server">
    <ItemTemplate>
        <asp:CheckBox ID="employeeIDNumber" runat="server" />
    </ItemTemplate>
</asp:Repeater>


此控件将为每个复选框呈现唯一的ID。

将其包装在中继器中。然后将您的记录列表绑定到中继器

<asp:Repeater runat="server">
  <ItemTemplate>
    <asp:checkbox runat="server" id="employeeIdNumber" />
    <p>Employee's Name: <%# Eval("name") %> </p>
    <p>Employee's Phone Number: <%# Eval("phoneNumber") %></p>
  </ItemTemplate>
</asp:Repeater>

员工姓名:

员工电话号码:


然后,要将其取出,请运行RepeaterItems集合并通过RepeaterItem.FindControl(“employeeIdNumber”)查找复选框,以确定它们是否已选中。

复选框列表也是一个选项

这还有一个关于如何检查选中状态的示例—只需迭代并检查所选属性