asp.net 获取Datalist中Checkbox的值的小结
作者:
最近开发过程中遇到一个小问题,要获取checkbox的值,在网上搜索了一下,发现基本上都是用JS实现的,现在我将自己的做法记录一下,以便以后继续使用。
前台的示例代码如下,用的是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的方法。
复制代码 代码如下:
<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的方法。
您可能感兴趣的文章:
- asp.net GridView控件中模板列CheckBox全选、反选、取消
- asp.net Repeater取得CheckBox选中的某行某个值的c#写法
- 在asp.net中实现datagrid checkbox 全选的方法
- asp.net gridview中用checkbox全选的几种实现的区别
- WPF的ListView控件自定义布局用法实例
- asp.net ListView 数据绑定
- ASP.NET中ListView(列表视图)的使用前台绑定附源码
- ASP.NET笔记之 ListView 与 DropDownList的使用
- asp.net ListView交替背景颜色实现代码
- WPF实现带全选复选框的列表控件