一个gridview,一个button
gridview第一列是复选框<input>的
后台点击按钮的方法中怎么获取复选框的值

解决方案 »

  1.   

    checkbox放统一的name,后台request[name]
      

  2.   

    比如说,所有的复选框name="checkbox",
    后台用request怎么获取
      

  3.   

    前台         <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false"  >
                            <Columns>
                                <asp:TemplateField HeaderText="">
                                    <ItemTemplate>
                                        <input id="cball" type="checkbox" class="cb1" onclick="GetSelectID(<%#Eval("StockName")%>);" title="点击选中"/>
                                    </ItemTemplate>
                                </asp:TemplateField>
                                <asp:BoundField HeaderText="A" DataField="StockName" />
                                <asp:BoundField HeaderText="B" DataField="GoodsNO" />
                                <asp:BoundField HeaderText="C" DataField="_Name" />
                                <asp:BoundField HeaderText="D" DataField="Spec" />
                                <asp:BoundField HeaderText="E" DataField="ProductBrand" />
                                <asp:BoundField HeaderText="F" DataField="Unit" />
                             </Columns>
             </asp:GridView>   
             <asp:HiddenField  runat="server" ID="hfIDList" Value=""/><%--放一个隐藏控件--%>
    js
    <script language="javascript" type="text/javascript">
    function GetSelectID( DateID)
    {
        if(document.getElementById("hfIDList").value!="")
        {
                document.getElementById("hfIDList").value +=","+DateID;
        }
        else
        {
            document.getElementById("hfIDList").value =DateID;
        }
    }
    </script>
    后台    protected void Button1_Click(object sender, EventArgs e)
        {
            Response.Write(hfIDList.Value.ToString());
        }
      

  4.   


    string str =Request["checkbox"]; 就可以了
      

  5.   

    如果onclick="GetSelectID(<%#Eval("StockName")%>);" 是取消选中呢
      

  6.   

    比如选中3个复选框,值分别是a,b,c
    str=什么啊?abc?
      

  7.   

      // 获取页面所有的input控件
      var ipts = document.getElementByTagName('input');
      var idList = '';
      if(ipts != null && ipts.length > 0){
      for(var i=0;i<ipts.length;i++){
      // 是checkbox,并且选中
      if(ipts[i].type == 'checkbox' && (ipts[i].checked == 'checked' || ipts[i].checked == true)){
      var td = ipts[i].parentElement || ipts[i].parentNode;   
      var tr = td.parentElement || td.parentNode;  
      // 第一个单元格的值
      idList += tr.cells[0].innerHTML + ",";
      }
      }
      }
    //循环或者遍历都可以 protected void Button1_Click(object sender, EventArgs e)
        {
            List<string> list = new List<string>();//存放所有选中的行的第一列的值        for (int i = 0; i < GridView1.Rows.Count; i++)
            {
                int index = 1;//CheckBox控件所在列
                int id_index = 0;//所定义的第一列所在索引
                CheckBox cbk = GridView1.Rows[i].Cells[index].FindControl("CheckBox0") as CheckBox;
                
                if (cbk != null)
                {
                    if (cbk.Checked)
                    {
                        string id = GridView1.Rows[i].Cells[id_index].Text;//第一列的值
                        list.Add(id);
                    }
                }
            }        foreach (var item in list)
            {
                Response.Write(item.ToString());
            }
        }
      

  8.   

    CheckBox cbk = GridView1.Rows[i].Cells[index].FindControl("CheckBox0") as CheckBox;

    cbk一直为空
      

  9.   

    复选框用后台的?<asp:CheckBox ID="CheckBox1" runat="server" />现在是后台的了,怎么实现啊
      

  10.   

    那个方法是针对服务器控件的,做个循环遍历就ok了
       for (int i = 0; i < GridView1.Rows.Count; i++)
            {
                int index = 1;//CheckBox控件所在列
                int id_index = 0;//所定义的第一列所在索引
                CheckBox cbk = GridView1.Rows[i].Cells[index].FindControl("CheckBox0") as CheckBox;
                
                if (cbk != null)
                {
                    if (cbk.Checked)
                    {
                        string id = GridView1.Rows[i].Cells[id_index].Text;//第一列的值
                        list.Add(id);
                    }
                }
            }