Если система уже находится на рабочем сервере и работает стабильно, игнорируйте мой ответ. Если он все еще находится на стадии планирования / проектирования / программирования, я думаю, что небольшое изменение БД сделает все намного проще.
Table SelectedItems
RecordID CheckBoxID IsSelected
1 1 true
1 2 true
1 3 false
1 4 true
То есть для определенного RecordID и CheckBoxID вам не нужно запрашивать таблицу, чтобы найти, есть ли соответствующая запись (что означает, что она выбрана). В новом дизайне всегда есть такая запись со статусом IsSelected
.
Между тем, этот дизайн также очень прост в обслуживании ваших веб-страниц. То, что вы изменяете, это просто значение IsSelected
для определенной строки, вам не нужно заботиться о "О, мне нужно удалить одну строку или добавить одну?" «Данные этого ряда грязные или нет?» ... все становится проще.