如何在GridView中获取复选框的id

时间:2016-01-19 12:21:44

标签: c# jquery asp.net gridview checkbox

我有一个复选框并显示在GridView的每一行上,我想找到已勾选的复选框的ID。

GridView代码:

<asp:GridView  style="width:75%"  
                        ID="gvCVRTDetails" 
                        ShowHeaderWhenEmpty="true"
                        CssClass="tblResults" 
                        runat="server" 
                        OnRowDataBound="gvCVRTDetails_RowDataBound"                             
                        DataKeyField="ID" 
                        AutoGenerateColumns="false"
                        allowpaging="false"
                        AlternatingRowStyle-BackColor="#EEEEEE">
                        <HeaderStyle CssClass="tblResultsHeader" />
                        <Columns>
                            <asp:BoundField DataField="Description" HeaderText="Checklist Items"></asp:BoundField> 
                            <asp:TemplateField HeaderText ="Checked?" ItemStyle-HorizontalAlign="Center">
                                <ItemTemplate>
                                         <asp:CheckBox ID="chkChecked" runat="server" onchange=UpdateCheckedBox(this,this.value)></asp:CheckBox>
                                </ItemTemplate>
                            </asp:TemplateField>
                        </Columns>
                    </asp:GridView>

我尝试使用onchange=UpdateCheckedBox(this,this.value)onchange=UpdateCheckedBox(this.id,this.checked),但它没有返回ID。

我添加了一个简单的函数,因此我可以检查复选框的ID:

function UpdateCheckedBox(id, checked) {
        alert(id);
        alert(checked);
    }

如果我使用this.id,则警告消息为空。如果我使用this则表示[object htmlSpanElement]。使用this.checkedthis.value只会返回undefined

1 个答案:

答案 0 :(得分:0)

function UpdateCheckedBox(e) {
    alert(e.checked);
}

和复选框更改控件应调用如下:

<asp:CheckBox ID="chkChecked" runat="server" onclick=UpdateCheckedBox(this)></asp:CheckBox>