datalist中checkbox 多项删除

protectedvoiddelete_Click(objectsender,EventArgse){for(inti=0;i<DataList1.Items.Count... protected void delete_Click(object sender, EventArgs e)
{
for (int i = 0; i < DataList1.Items.Count; i++)
{
CheckBox chk = (CheckBox)DataList1.Items[i].FindControl("CheckBox1");
if (chk != null && chk.Checked == true)
{
LinkButton l = (LinkButton)DataList1.Items[i].FindControl("LinkButton1");
// int Uid = Convert.ToInt32(l.Text);
try
{
conn.Open();
string str = string.Format("delete from t_task where task_name='{0}'", l.Text);
SqlCommand cmd = new SqlCommand(str, conn);
cmd.ExecuteNonQuery();
mybind();
}
catch (Exception ee)
{
Console.WriteLine(ee);
}
}
else
{
Response.Write("<script>alert ('请选择!')</script>");
Response.Write("<script> window.location.href=('follow_task_no.aspx')</script>");
}

}
选中多行,但是只删除一行,例如我选中1,2,3行 只删除第1行,其他的都没有删除。
展开
 我来答
百度网友7150797
2010-11-03 · 超过28用户采纳过TA的回答
知道答主
回答量:120
采纳率:0%
帮助的人:70.6万
展开全部
下面是我前段时间做的例子:
前台页面:
<ItemTemplate>
<tr id="tr1">
<td>
<asp:HiddenField ID="HiddenField1" runat="server" Value='<%# Eval("ID") %>' />
<asp:HiddenField ID="HiddenField2" runat="server" Value='<%# Eval("#") %>' />
<asp:CheckBox ID="CheckBox2" runat="server" /></td>
<td><img id="imga" src='<%# SetFalse( Eval("#").ToString()) %>' />
</td>
<td><%# Eval("#") %></td>
<td><%# Eval("#") %></td>
</tr>
</ItemTemplate>
后台方法:
//获取ID
private string GetId()
{
StringBuilder sbitems = new StringBuilder();
foreach (DataListItem item in DataList1.Items)
{
//获取前台控件
CheckBox chkbox = item.FindControl("CheckBox2") as CheckBox;
HiddenField HiId = item.FindControl("HiddenField1") as HiddenField;

//如果checkbox被check了,那么将对应的label绑定的值赋给sbitems,以进行后续的操作,比如删除。
if (chkbox == null || HiId == null)
{
continue;
}
if (chkbox.Checked)
{
sbitems.Append(HiId.Value.ToString());
sbitems.Append(",");
}
}
//int n = sbitems.Length;
//string strId = sbitems.ToString().Substring(n);
return sbitems.ToString();
}
warmblackray
2010-11-03
知道答主
回答量:21
采纳率:0%
帮助的人:0
展开全部
FindControl 方法传入的参数是控件的ID啊 是唯一的 所以你的循环每次找到的都是同一个名为"Checkbox1"的checkbox LinkButton也是同理
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
402520575
2010-11-04 · 超过11用户采纳过TA的回答
知道答主
回答量:51
采纳率:0%
帮助的人:40.7万
展开全部
CheckBox chk = (CheckBox)DataList1.Items[i].FindControl("CheckBox1");ID只有1个,,固定了。当然只能删除一个了.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式