我想在我的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>
<%
}
%>
问题是checkbox id是一个字符串文字。如何为每位员工的复选框提供唯一ID?
答案 0 :(得分:1)
我认为你应该使用Repeater。
<asp:Repeater ID="rptEmployees" runat="server">
<ItemTemplate>
<asp:CheckBox ID="employeeIDNumber" runat="server" />
</ItemTemplate>
</asp:Repeater>
此控件将为您呈现每个复选框的唯一ID。
答案 1 :(得分:1)
将其包裹在转发器中。然后将listOfRecords绑定到转发器。
<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”)查找复选框以确定它们是否被检查。
答案 2 :(得分:0)
CheckboxList也是一个选项。
http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.checkboxlist.aspx
这也有一个关于如何检查已检查状态的示例 - 只需遍历并检查Selected属性。