不了解您,但作为用户,我不希望每次选中复选框时页面都回发。
这是我会采用的解决方案(jQuery):
在表单上声明一个服务器端隐藏字段:
<asp:HiddenField ID="HiddenField1" runat="server" EnableViewState="true" />
然后为复选框连接客户端事件处理程序以存储单击的复选框:
$('.someclassforyourcheckboxes').click(function() {
$('#HiddenField1').val($(this).attr('id'));
这是一种轻量级机制,用于存储单击的“最新”复选框的 ID。而且您不必为复选框设置 autopostback=true 并进行不必要的回发。
您不必使用 jQuery - 您可以使用常规 Javascript,但是,为什么要做更多的工作? =)
然后,当您实际执行回发时(我假设在提交按钮上单击),只需检查隐藏字段的值。
当然,除非您希望在每次单击复选框时都回发,但我无法想象您想要这个的场景(也许您正在使用 UpdatePanel)。
编辑
复选框列表的 HTML 如下所示:
<input type="checkbox" name="vehicle" value="Bike" /> I have a bike
因此,您可以访问三件事:
车辆 = $(this).attr('name');
自行车 = $(this).attr('value');
我有一辆自行车 = $(this).html();
如果您尝试访问数据绑定值,请尝试第二种技术。
试试看。