ASP.NET не видит изменения значения переключателя - PullRequest
2 голосов
/ 25 сентября 2008

У меня есть форма с некоторыми переключателями, которые по умолчанию отключены.

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

Когда я возвращаюсь на сервер, переключатель, который нажал пользователь, не отображается как отмеченный. Я буду использовать «rbSolid» в качестве переключателя, на котором я фокусируюсь.

Я обрабатываю событие 'onclick' переключателей, но у меня нет функции, которая делает что-либо еще, кроме запуска:

Me.rbSolid.Attributes.Add ("onclick", "styleLookupChanged (this);")

На клиенте включается переключатель при изменении значения текстового поля:

document.getElementById ("ctl00_MainLayoutContent_WebPanel4_rbSolid"). Disabled = false;

Затем я нажимаю переключатель, затем отправляю сообщение обратно через кнопку, но на сервере это всегда ложно:

Если Me.rbSolid.Checked То ...

Если радио-кнопка включена по умолчанию, она отображается как проверено правильно.

Спасибо за любую помощь!

Ответы [ 3 ]

6 голосов
/ 25 сентября 2008

Это связано с тем, как ASP.NET отправляет данные обратно. Если элемент управления отключен (control.enabled = false) при отображении страницы, значения не будут отправлены обратно на сервер. В прошлом я решил эту проблему, установив флаг отключения с помощью тегов атрибутов вместо использования свойства Enabled. Поэтому вместо control.enabled = false вы используете control.attributes.add («отключен», «отключен»).

0 голосов
/ 25 сентября 2008

очевидно отключен атрибут html, а не атрибут css. если вы отключите переключатель на стороне сервера в asp.net, а затем отметите рендеринг html, переключатель будет встроен в тег span с атрибутом disabled, установленным в значение true. Вместо этого вы можете попытаться настроить таргетинг на диапазон кнопки (родительский элемент не имеет идентификатора) и установить значение disabled = false в вашем javascript, чтобы увидеть, работает ли это

0 голосов
/ 25 сентября 2008

Это не работает для меня.

Я добавил

Me.rbSolid.Style.Add ("background-color", "red")

Me.rbSolid.Style.Add («отключено», «верно»)

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

Вот источник после загрузки:

<span style="font-family:Verdana;font-size:8pt;background-color:red;Disabled:true;">
<input id="ctl00_MainLayoutContent_WebPanel4_rbSolid" type="radio" name="ctl00$MainLayoutContent$WebPanel4$DetailType" value="rbSolid" onclick="styleLookupChanged(this);" />
<label for="ctl00_MainLayoutContent_WebPanel4_rbSolid">Solid</label>
</span>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...