欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2024-03-07 19:53:03
前台的示例代码如下,用的是datalist控件,要显示的是student表中的studentid和姓名 复制代码 代码如下: 前台的示例代码如下,用的是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的方法。