Я рассмотрел аналогичные вопросы о переполнении стека, но не смог найти решение этой проблемы. У меня есть простая (не совсем, но давайте притвориться) страница ASP.NET с панелью обновления внутри нее.ASP.NET: JavaScript, изменяющий значение HiddenField перед отправкой
В этой панели обновления есть элемент управления HiddenField
со значением, которое будет установлено/обновлено с помощью моего собственного JavaScript. Значение : обновлено, как я могу видеть в DOM, используя Firebug.
Рядом с этим HiddenField
есть LinkButton
, который вызывает JavaScript для изменения значения HiddenField
с использованием OnClientClick
(это работает). LinkButton
также имеет обработчик OnClick
, который выполняется после того, как значение было изменено.
Однако в обработчике OnClick
я получаю начальное значение HiddenField
, а не значение, заданное JavaScript!
Почему это? Это случай "PEBKAC"?
EDIT: Пробовал то же самое с TextBox
без каких-либо успехов. Также попытался изменить значение вручную с помощью Firebug перед отправкой формы без каких-либо успехов.
EDIT 2: Я просто понял, что Page_Load
вызывается перед OnClick
обработчик, который был Мессинг вещи. Я не стану исключать вопрос, так как другие люди могут иметь такую же проблему и могут найти этот вопрос ценным.
Возможно, какой-то код может помочь нам разобраться в этом вопросе. Я провел некоторое тестирование, и я могу установить значение скрытого поля с помощью «OnClientClick», а затем получить его в обработчике событий OnClick на сервере. – Phaedrus
Я нашел проблему с моим кодом и обновил вопрос, чтобы указать это. –