repeater 中checkbox全选问题

xjqaini 2012-06-13 07:20:35
前几天,发了个同样的问题,暂时解决了,可以实现选中删除,
但是现在的问题是:明明全部选定了,执行删除的时候,只删除第一行的值,下面的checkbox值变成false了
<ItemTemplate>
<tr>
<td align="center">
<asp:CheckBox ID="cb_id" CssClass="checkall" runat="server" />
</td>
<td align="center">
<asp:Label ID="lb_id" runat="server" Text='<%#Eval("Nid")%>'></asp:Label>
</td>
</ItemTemplate>
repeater外的代码
<asp:LinkButton ID="lbtnDel" runat="server" OnClientClick="return confirm( '确定要删除这些记录吗? ');"
OnClick="lbtnDel_Click">删 除</asp:LinkButton>


protected void lbtnDel_Click(object sender, EventArgs e)
{
for (int i = 0; i < this.rptList.Items.Count; i++)
{
CheckBox cb = (CheckBox)rptList.Items[i].FindControl("cb_id");
int id = Convert.ToInt32(((Label)rptList.Items[i].FindControl("lb_id")).Text);

if (cb.Checked)
{

string str = "delete from T_News where Nid=" + id;
DbHelper.NoResultCommand(str);
PageCountBind(1, drNewsCatList.SelectedValue);
}
}

}
点击删除的时候,只删除第一行的值,下面的checkbox值就全部是false了,现在都不想用全选删除了
...全文
121 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
xjqaini 2012-06-13
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

绑定Repeater的代码是否放在if(!IsPostBack){绑定Repeater代码}中
[/Quote]
谢谢你的回答,自己解决了,谢谢
xjqaini 2012-06-13
  • 打赏
  • 举报
回复
准备结贴,自己解决了,原因是在for循环里执行了PageCountBind(1, drNewsCatList.SelectedValue),页面刷新了,checkbox的值就被重新赋值了,吧刷新页面放到for循环外面就可以实现了
licai1210 2012-06-13
  • 打赏
  • 举报
回复
绑定Repeater的代码是否放在if(!IsPostBack){绑定Repeater代码}中
xjqaini 2012-06-13
  • 打赏
  • 举报
回复
补充一点:
把linkbutton里的代码改成下面的样子
protected void lbtnDel_Click(object sender, EventArgs e)
{
for (int i = 0; i < this.rptList.Items.Count; i++)
{
CheckBox cb = (CheckBox)rptList.Items[i].FindControl("cb_id");
int id = Convert.ToInt32(((Label)rptList.Items[i].FindControl("lb_id")).Text);

if (cb.Checked)
{

Response.Write(id);
//string str = "delete from T_News where Nid=" + id;
//DbHelper.NoResultCommand(str);
//PageCountBind(1, drNewsCatList.SelectedValue);
}
}

}
然后当页的全部id就可以循环输出,删除的时候就只删除第一行

62,268

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧