I have a CheckBox field in a GridView in an aspnet webform. Upon user checking / unchecking each checkbox, I want to run server side code for OnCheckedChanged event for that checkbox using jQuery.
The GridView loads in a jQuery popup window like this
<div id="dialog" style="display: none">
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" OnPageIndexChanging="OnPageIndexChanging" DataKeyNames="ID"
PageSize="10" AllowPaging="true">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:checkbox id="chk" runat="server" Text="Select" OnCheckedChanged="OnCheckChanged" />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="ID" HeaderText="ID" ItemStyle-Width="100" />
<asp:BoundField DataField="Name" HeaderText="Name" ItemStyle-Width="300" />
<asp:BoundField DataField="Description" HeaderText="Description" ItemStyle-Width="400" />
</Columns>
</asp:GridView>
</div>
jQuery is like this
$(document).ready(function () {
$("input:checkbox").click(function () {
if ($(this).is(":checked")) {
$(this).trigger('OnCheckChanged',true);
} else {
alert("false");
}
});
});
My "CheckChanged" Event is like this
Sub OnCheckChanged(sender As Object, e As EventArgs)
Dim chk As CheckBox = TryCast(sender, CheckBox)
Dim row As GridViewRow = TryCast(chk.NamingContainer, GridViewRow)
Dim pk As String = GridView1.DataKeys(row.RowIndex).Values(0).ToString
If chk.Checked = True Then
'Do something
Else
'Do something
End If
End Sub
The jQuery function works when the CheckBox is unchecked. But it does not fire the server side OnCheckChanged event
Can anyone help?