首页 新闻 会员 周边 捐助

repeater 全选删除之疑难杂症。第一次遇到;求IT华佗 比较急~

0
悬赏园豆:60 [待解决问题]

 

for (int i = 0; i < this.repeater1.Items.Count;i++ )
{
HtmlInputCheckBox cb
= (HtmlInputCheckBox)this.repeater1.Items[i].FindControl("ChkSelect");
Label cb1
= repeater1.Items[i].FindControl("lblID") as Label;
ids
+=cb1.Text+",";
//如果输出 cb1 的 就能输出 Response.Write("<script language='javascript'>window.alert('" + ids + "');</script>");
//如果判断 cb.Checked 就不能输出
//有数据

 

Mr_Zong的主页 Mr_Zong | 初学一级 | 园豆:90
提问于:2010-11-29 15:20
< >
分享
所有回答(3)
0

全选的话使用客户端取input标签即可,不用提交到服务端,js代码如下:

function SelectAll(sender)
{
var checkBoxs=document.getElementsByTagName("input");
for(var i=0;i<checkBoxs.length;i++)
{
if(checkBoxs[i].name!="chkAll" &&
checkBoxs[i].type
=="checkbox"&&
!checkBoxs[i].disabled)
{
checkBoxs[i].checked
=sender.checked;
}
}
}
路过秋天 | 园豆:4787 (老鸟四级) | 2010-11-29 16:04
现在的情况是我已经全选了,我所贴的两段代码 结构已经写出来了,但是结果要判断的cb.checked却一直是false。
支持(0) 反对(0) Mr_Zong | 园豆:90 (初学一级) | 2010-11-29 16:16
@Mr_Zong:客户端的checkbox,应该通过 for (int i = 0; i < Request.Form.Count; i++)这种方式获取。
支持(0) 反对(0) 路过秋天 | 园豆:4787 (老鸟四级) | 2010-11-30 17:37
0
for (int i = 0; i < this.repeater1.Items.Count; i++)
{
  CheckBox cbx
= (CheckBox)repeater1.Items[i].FindControl("ChkSelect");
  
if (cbx != null)
  {
    
if (cbx.Checked)
    {
      
//
    }
  }

}

 

 

试试这个看行不行

勤劳的渔网工作者 | 园豆:572 (小虾三级) | 2010-11-30 00:00
0

你用楼上的js做肯定行,你的方法没错,关键在后台取得的HtmlInputCheckBox控件肯定是false,因为它不是asp.net控件,后台取不到值的,永远false。你用asp.net的checkbox就可以实现。

茂茂 | 园豆:2902 (老鸟四级) | 2010-11-30 09:12
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册