Отключите флажок в javascript и распознайте его как отмеченный на стороне сервера - PullRequest
4 голосов
/ 17 марта 2010

У меня есть флажок, который в некоторых случаях может быть отключен и проверен с использованием javascript, т.е.:

var cbTest = document.getElementById("CheckBoxTest");
cbTest.disabled = true;
cbTest.checked = true;

Однако при отправке постбэка CheckBoxTest.Checked имеет значение false на стороне сервера.

Можно ли отключить этот флажок и при этом серверная сторона распознает его как отмеченный?

Ответы [ 5 ]

7 голосов
/ 17 марта 2010

Любой отключенный элемент управления внутри формы не будет отправлен на сервер при отправке назад. Вы можете добавить скрытый элемент управления вводом и установить состояние флажка для этого входа, а на стороне сервера проверить это скрытое значение ввода.

1 голос
/ 17 марта 2010

Вы можете включить флажок перед публикацией или установить скрытое поле для хранения значения отмеченного состояния. Отключенный элемент управления не будет публиковать свое значение.

1 голос
/ 17 марта 2010

Чтобы получить значение отключенного поля, вам нужно включить его непосредственно перед обратной передачей. Значение отключенного поля никогда не отправляется.

0 голосов
/ 17 марта 2010

Вы пытались получить атрибут как

string val = checkbox.Attributes["checked"].ToString();
0 голосов
/ 17 марта 2010

Я думаю, что HTML-формы публикуют только значения включенных элементов управления. Я думаю, что одним из способов решения этой проблемы было бы иметь скрытое поле (<input type="hidden"/>) и хранить здесь статус Checked CheckBox.

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