aspnet WebフォームのGridViewにCheckBoxフィールドがあります。ユーザーが各チェックボックスをチェック/チェック解除すると、jQueryを使用してそのチェックボックスのOnCheckedChangedイベントのサーバー側コードを実行したいと思います。
GridView は、このような jQuery ポップアップ ウィンドウに読み込まれます
<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はこんな感じ
$(document).ready(function () {
$("input:checkbox").click(function () {
if ($(this).is(":checked")) {
$(this).trigger('OnCheckChanged',true);
} else {
alert("false");
}
});
});
私の「CheckChanged」イベントはこのようなものです
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
jQuery 関数は、CheckBox がオフのときに機能します。ただし、サーバー側の OnCheckChanged イベントは発生しません
誰でも助けることができますか?