Идеи для установки флажков ввода из базы данных и поддержания состояния во время обратной передачи - PullRequest
0 голосов
/ 09 сентября 2009

У меня есть страница asp.net, которая использует строитель строк для вывода флажка на стороне клиента для каждой записи в моей базе данных.

Мне нужно проверить, должен ли быть установлен флажок, в зависимости от того, что bool в БД и при обратной передаче поддерживает состояние всех флажков.

Может кто-нибудь предложить хороший подход к этому?

1 Ответ

1 голос
/ 09 сентября 2009

Использование CheckBoxList с включенным ViewState охватит вторую часть. Установка значения ListItem в CheckBoxList на что-то вроде имени битового столбца упростит использование cbl.Items.FindByValue ("colName"). Checked = colValue и colValue = cbl.Items.FindByValue ("colName" ). Проверено для загрузки и сохранения состояния.

РЕДАКТИРОВАТЬ: Если вы должны использовать подход StringBuilder

Быстрый и грязный способ состоит в том, чтобы просто создать разметку и установить значения во время циклического перебора набора записей, убедившись, что при обратной передаче вы сохраняете значение в БД, прежде чем читать значения из нее. Если вы перепутаете порядок сохранения / загрузки, БД обновится, но пользователь увидит старые значения при обновлении страницы, и если они снова нажмут кнопку «Сохранить», они перезапишут новые значения старыми.

Если вам нужно облегчить нагрузку на БД, то на пост обратно [т.е. if (Page.IsPostBack)] вместо этого загружает значения из Request.Form ["chkBxName"].

Я не думаю, что есть очень удобный способ сделать это без создания вашей собственной среды, подобной ViewState.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...