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的方法 。 |