Я меняю свой полный ответ, потому что я был совершенно неправ. Чёрт.
До этого я почти ничего не знал о событии OnValueChanged для HiddenField (ну, на самом деле я ничего об этом не знал, смеется), но после проверки MSDN по этому вопросу, похоже, что событие OnValueChanged уже есть чтобы вы могли определить, изменилось ли значение поля между постбэками (т. е. пользователь изменил его в своем браузере с момента последнего обновления значения). Если вы измените значение HiddenField при публикации на странице, это не вызовет событие OnValueChanged. Если, с другой стороны, скрипт на странице изменил значение HiddenField перед отправкой следующей страницы, то это событие сработало бы. Так что это бесполезно для вас в вашей ситуации. Мое раннее предложение использовать невидимый TextBox и обрабатывать событие TextChanged столь же бесполезно, потому что событие TextChanged сработало бы, только если пользователь изменил его.
Итак, это не отвечает на ваш вопрос, извините за это.
Да, да, вот ссылка MSDN: Управление веб-сервером HiddenField