欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

asp.net中,GridView绑定的选择框CheckBox,多选后获取选中的id

程序员文章站 2022-06-11 11:38:11
...

第一种方法

-------前端
GridViewRow 中需要添加属性:DataKeyNames=“user_id” //user_id 为要获取的id

<asp:GridView ID="GridView1" runat="server" DataKeyNames="user_id ">
                                <asp:TemplateField>
                                    <ItemTemplate>
                                        <asp:CheckBox runat="server"  ID="CheckBoxId">
                                        </asp:CheckBox>
                                    </ItemTemplate>
                                </asp:TemplateField>
  </asp:GridView>

-------后端

        string strTempValue = string.Empty;
        foreach (GridViewRow gvr in GridView1.Rows)
        {
            CheckBox cb = (CheckBox)gvr.FindControl("CheckBoxId");  //CheckBoxId为选择框的id
            if (cb.Checked)
            {
                strTempValue = strTempValue + "," + GridView1.DataKeys[gvr.RowIndex].Value.ToString();
            }
        }

第二种方法

-------前端

<asp:GridView ID="GridView1" runat="server">
                                <asp:TemplateField>
                                    <ItemTemplate>
                                        <asp:CheckBox runat="server"  ID="CheckBoxId">
                                        </asp:CheckBox>
                                    </ItemTemplate>
                                </asp:TemplateField>
                                 <asp:BoundField DataField="UserId" HeaderText="ID">
                                </asp:BoundField>
  </asp:GridView>
  
        string strTempValue = string.Empty;
        foreach (GridViewRow g in GridView1.Rows)
        {
            CheckBox ck = (CheckBox)g.FindControl("CheckBoxId");
            if (ck.Checked == true)
            {
                //这里的Cells[1]是因为 在前端UserId列在下标为1的位置
                strTempValue   =strTempValue   + "," + g.Cells[1].Text.ToString(); 
            }
        }

希望能帮到大家~~~~~~~~