【问题标题】:How to have an ASP checkbox for each entry in a list?如何为列表中的每个条目设置一个 ASP 复选框?
【发布时间】:2010-11-09 18:58:41
【问题描述】:

我想在我的 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?

【问题讨论】:

    标签: c# asp.net controls web-controls


    【解决方案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】:

      我认为你应该改用中继器。

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

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

      【讨论】:

        【解决方案3】:

        CheckboxList 也是一个选项。

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

        这还有一个关于如何检查选中状态的示例 - 只需遍历并检查 Selected 属性。

        【讨论】:

          猜你喜欢
          • 2018-08-23
          • 1970-01-01
          • 2021-11-06
          • 2012-10-06
          • 1970-01-01
          • 2011-01-08
          • 1970-01-01
          • 1970-01-01
          • 2022-11-07
          相关资源
          最近更新 更多