如何在Checkbox中绑定数据库?

时间:2014-01-14 16:54:55

标签: c# asp.net sql-server data-binding checkbox

我想将SQL Server上的数据库中的每个id绑定到CheckBox。但它不起作用。

这是我的代码:

表格取消信息

CancelId | CancelDetail
1 | Cancel01
2 | Cancel02
3 | Cancel03

HTML FROM

<asp:CheckBox ID="chkCancel" name="chkCancel" runat="server" OnLoad="chkCancel_Load" />

代码背后(类)

public static ClassCancelInfo[] ListCancel()
{
    using (var pcon = new ProjectConnect())
    {
        DataTable table = pcon.ExecuteDataTable("SELECT CancelDetail FROM CancelInfo Where CancelId =1 ");
        CancelInfo[] items = MapFrom(table);
        return items;
    }
}

代码.aspx.cs

protected void chkCancel_Load(object sender, EventArgs e)
{
    chkCancel.Text = ClassCancelInfo.ListCancel().ToString();            
}

结果网页,,,□&gt;&gt;复选框

□□□

但我想要结果网页

□Cancel01

□Cancel02

□Cancel03

2 个答案:

答案 0 :(得分:0)

使用inline syntax with foreach循环

怎么样?
  <% foreach(ClassCancelInfo ci in ClassCancelInfo.ListCancel()){  %>

         <asp:CheckBox ID="chk__<%= counter++ %>" value= "<%= ci.Value%>" /> 
         <%= ci.CancelDetail%>

         </br>
  <%  } %>

答案 1 :(得分:0)

您可以按照以下方式修改代码:

<% 
 int i=0;
foreach (ClassCancelInfo ci in ClassCancelInfo.ListCancel())
{ 
%>

<input type='checkbox' id="chk_<%=i.ToString()%>"/>
<label for="chk_<%=i.ToString()%>"><%=ci.CancelDetail%></label>
<br/>
<% i=i+1;
 } 
%>