Короткий ответ: вы можете сделать это при некоторых обстоятельствах, но на самом деле это не очень хорошая идея.
Если вы пишете элемент управления для использования другими, то ViewState
не сработает. По умолчанию ViewState
имеет кодировку Base64, которую достаточно легко декодировать, но пользователи вашего элемента управления могут захотеть зашифровать свои ViewState
данные, в этом случае вы будете скрыты.
Если вы пишете элемент управления для собственного потребления, и вам нужно только прочитать из ViewState
, вы могли бы сделать это, но я бы не рекомендовал этого, если вы найдите хорошо отлаженную библиотеку, чтобы проанализировать ее для вас. Формат немного сложный (см. ViewState: все, что вы хотели знать и Понимание ASP.NET ViewState для получения дополнительной информации).
Как вы упомянули, использование стандартного скрытого поля является хорошей альтернативой, или вы можете добавить другой блок javascript на свою страницу, чтобы установить значения переменных в любой точке, в которой их устанавливает элемент управления.