それがあなたに合っているなら、あなたはjQueryルートを取ることができます...
if (!IsPostBack)
{
foreach (ListItem item in chkList.Items)
{
//adding a dummy class to use at client side.
item.Attributes.Add("class", "chkItem");
}
}
style display : none を使用して、フォームにボタンを 1 つ配置します。そして、現在チェックされているチェックボックスを追跡する隠しフィールド。
<asp:Button ID="hdnButton" runat="server" style="display:none;" OnClick="hdnButton_Click"/>
<asp:HiddenField ID="hdnCurrent" runat="server" />
jQueryの部分....
$(".chkItem input:checkbox").change(function(){
$("#hdnCurrent").val($(this).attr("id") + "|" + $(this).attr("checked"));
$("#hdnButton").click();
});
バックエンドで文字列操作を行いたくない場合は、さらに隠しフィールドを使用できます。あなたの好みによります。
次に、以下のようにボタン クリック イベントを処理します。
protected void hdnButton_Click(object sender, EventArgs e)
{
String[] Value = hdnCurrent.Value.Split('|');
if (Value[1] == "true")
{
//Do operations here when the check box is checked
}
else
{
//Do operations here when the check box is unchecked
}
//Value[0] contains the id of the check box that is checked/unchecked.
}