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

时间:2021-12-18 17:12:48

前台的示例代码如下,用的是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的方法。