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