ASP.NET флажки не установлены при обратной отправке

#asp.net #checkbox #controls #checked

#asp.net #флажок #элементы управления #проверено

Вопрос:

У меня есть ASP.NET веб-форма. В нем приведен краткий список флажков. Я ожидаю, что произойдет то, что я установлю пару флажков, выполню обратную передачу, и флажки должны оставаться установленными после обратной передачи.

По какой-то причине флажки не установлены при обратной передаче. У меня нет ничего в событиях page_init или page_load, которые что-либо делают с флажками. И когда я просматриваю код во время отладки, флажки помечаются как отмеченные.

Я попытался установить значение свойства checked для обратной передачи в true, но флажки по-прежнему не установлены.

Кто-нибудь видел это раньше и есть какие-либо предложения о том, как это исправить?

Редактировать

Сначала я не понял — флажки — это элементы управления html-сервером (тип ввода = checkbox runat= server …).

Комментарии:

1. Создаются ли элементы управления динамически?

Ответ №1:

Вам необходимо переопределить методы SaveViewState и LoadViewState и поместить значения флажков в ViewState.

https://web.archive.org/web/20211020153240/https://www.4guysfromrolla.com/articles/110205-1.aspx

Комментарии:

1. с каких пор значения полей ввода связаны с viewstate?

2. Это известная проблема с этими типами элементов управления списками