Не знаю, как вы, но как пользователь, я бы не хотел, чтобы страница публиковалась каждый раз, когда отмечен флажок.
Это решение, с которым я бы пошел (jQuery):
Объявите скрытое поле на стороне сервера в вашей форме:
<asp:HiddenField ID="HiddenField1" runat="server" EnableViewState="true" />
Затем подключите обработчики событий на стороне клиента, чтобы флажки для сохранения флажков были отмечены:
$('.someclassforyourcheckboxes').click(function() {
$('#HiddenField1').val($(this).attr('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();
Если вы пытаетесь получить доступ к значению базы данных, попробуйте вторую технику.
Дайте попробовать.