Как установить флажок ASP для каждой записи в списке? - PullRequest
0 голосов
/ 09 ноября 2010

Я хочу сделать что-то подобное в моем коде 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 ]

1 голос
/ 09 ноября 2010

Заверните это в повторитель. Затем привяжите свой список записей к повторителю.

<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"), чтобы определить, проверены ли они.

1 голос
/ 09 ноября 2010

Я думаю, вы должны использовать вместо этого Repeater.

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

Этот элемент управления будет отображать уникальный идентификатор для каждого флажка для вас.

0 голосов
/ 09 ноября 2010

CheckboxList также является опцией.

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.checkboxlist.aspx

Здесь также есть пример того, как проверить проверенное состояние - просто переберите и проверьте свойство Selected.

...