Как установить флажок ASP для каждой записи в списке?
Я хочу сделать что-то вроде этого в моем коде 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>
<%
}
%>
Проблема в том, что идентификатор флажка является строковым литералом. Как я могу дать уникальный идентификатор для флажка каждого сотрудника?
3 ответа
Заверните это в репитер. Затем привяжите свой список записей к повторителю.
<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"), чтобы определить, проверены ли они.
Я думаю, что вы должны использовать вместо повторителя.
<asp:Repeater ID="rptEmployees" runat="server">
<ItemTemplate>
<asp:CheckBox ID="employeeIDNumber" runat="server" />
</ItemTemplate>
</asp:Repeater>
Этот элемент управления будет отображать уникальный идентификатор для каждого флажка для вас.
CheckboxList тоже вариант.
http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.checkboxlist.aspx
Здесь также есть пример того, как проверить проверенное состояние - просто переберите и проверьте свойство Selected.