Я понимаю, что вы пытаетесь сделать, но использование API валидации событий не совсем подходит, так как он предназначен для проверки того, что события обратной и обратной связи, инициированные клиентом, являются правильными для целевого серверного элемента управления, например, убедитесь, что что щелчок обрабатывается правильной кнопкой или проверка того, что событие изменения в раскрывающемся списке не относится к значению, которое изначально не было «известно» серверу.
В вашем коде вы создаете скрытое поле непосредственно для клиента, поэтому сервер не может ссылаться на обратную передачу. Даже если вы использовали скрытый элемент управления полем на странице сервера, вы все равно не смогли бы проверить значение поля, потому что элемент управления не генерирует события обратной передачи (пользователь не может взаимодействовать с ним, и поэтому нет события для проверки сервером).
Самое простое решение - использовать ViewState для хранения значения поля, а затем при обратной проверке убедиться, что опубликованное значение поля равно значению, сохраненному в ViewState. ViewState зашифрован по умолчанию, поэтому он является безопасным местом для хранения данных, которые не должны изменяться на клиенте.