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