Я бы добавил обработчик кликов на каждый флажок, который добавляет / удаляет идентификатор выбранного флажка в некотором списке (например, в виде содержимого некоторого скрытого поля в виде списка, разделенного запятыми или чего-то подобного).
КогдаВы отправляете форму, вы можете прочитать это содержимое из Request ["hiddenFieldName"], разделить его запятыми и сохранить.
Относительно потерянных значений флажков при смене страницы прямого решения не существует.Мой выбор - привязать обработчик события «page» к datatable - что-то вроде этого:
$('#example')
.bind('page', function () { populateCheckboxes( ); })
.dataTable();
функция populateCheckboxes будет вызываться при каждом изменении страницы, и здесь вы можете пройти через все флажки в таблице и проверить,их значение находится в списке в скрытом поле.
Извините, но для этого нет более простого решения, однако это не слишком сложный сценарий.
Jovan