我把checkbox放在了repeater中 想通过全选来进行多个删除 为了提取id值 我又在每行加了一个隐藏的textbox 代码如下protected void imbtn_del_Click(object sender, System.Web.UI.ImageClickEventArgs e)
        {
            StringBuilder strBud = new StringBuilder();
            int i = 0;            foreach (RepeaterItem item in Repeater1.Items)
            {
                CheckBox check = (CheckBox)item.FindControl("selectItem");
                TextBox txtId = (TextBox)item.FindControl("txt_id");                if (check.Checked)
                {
                    if (i != 0)
                    {
                        strBud.Append(",");
                    }                    strBud.Append(txtId.Text);                    i++;
                }
            }            {
                StringBuilder jScript1 = new StringBuilder();
                jScript1.Append("<script charset='gb2312' language='javascript' type='text/javascript'>");
                jScript1.Append(string.Format("delLeaveMsg({0})", strBud.ToString()));
                jScript1.Append("</script>");                Page.ClientScript.RegisterStartupScript(this.GetType(), "del", jScript1.ToString());
            }         }但是每次却只能删除第一个选项 不能全选删除 请问问题出在哪里呢 正确的代码应该是什么 万分感谢

解决方案 »

  1.   

    if(!IsPostBack)
     BindData();
    foreach (RepeaterItem item in Repeater1.Items)
      {
      CheckBox Chk= (CheckBox)item.FindControl("chk");//通过Hiddenfiled获取ID
      if(Chk.Checked)
      {
        
      }
      }
    服务端控件要刷新
     <input type="checkbox" name='ckbName' value='<%# Container.DataItem%>' /><%# Container.DataItem%>
    </ItemTemplate>
        
      protected void btn_Click(object sender, EventArgs e)
      {
      value = Request.Form["ckbName"];} http://topic.csdn.net/u/20100726/09/2bd9b34f-8c64-4e14-b04f-71186bfb111a.html
      

  2.   

    JS全部一选,然后会发,然后FINDCONTROL然后取ID然后删除就好了.
      

  3.   

    if(!IsPostBack) 页面不是第一次被请求 为 TRUE
    {
    绑定数据
    }这个是ASP.NET的请求机制,每一次请求(只要页面刷新),服务器控件中的数据都需要重新绑定!
      

  4.   

    把name起一样的! C#获取name 删除不就行了!