asp.net 获取Datalist中Checkbox的值的小结

  前台的示例代码如下,用的是datalist控件,要显示的是Student表中的StudentID和姓名

  

复制代码 代码如下:

  <asp:DataList ID="dlTable" runat="server" >

  <ItemTemplate>

  <td align="center">

  <asp:Label ID="lblID" runat="server" Text='<%#Eval("StudentID") %>' Visible="false"></asp:Label>

  <asp:CheckBox ID="Chkbox" runat="server" />

  </td>

  <td>

  <%#Eval("studentname") %>

  </td>

  <td>

  <%#Eval("studentid") %>

  </td>

  </ItemTemplate>

  </asp:DataList>

  后台代码如下:

  

复制代码 代码如下:

  //new一个stringbulider的实例sbitems

  StringBuilder sbitems = new StringBuilder();

  foreach (DataListItem item in dlTable.Items)

  {

  //获取前台控件

  CheckBox chkbox = item.FindControl("Chkbox") as CheckBox;

  Label lbId = item.FindControl("lblID") as Label;

  //如果checkbox被check了,那么将对应的label绑定的值赋给sbitems,以进行后续的操作,比如删除。

  if (chkbox == null || lblID== null)

  {

  continue;

  }

  if (chkbox.Checked)

  {

  sbitems.Append(lblID.Text.ToString());

  sbitems.Append(",");

  }

  }

  //由于多了一个逗号,所以还要remove掉逗号

  if (!sbitems.ToString().Trim().Equals(string.Empty))

  {

  sbitems.Remove(sbitems.Length - 1, 1);

  }

  这样就获取了前台checkbox中选取的值,但是我感觉这个方法用的好像复杂了一点,各位达人如果有更好的通过C#获取Checkbox值得方法,请赐教。本人很想知道如何使用Checkboxlist的方法。