ViewState - это страница, которую они просматривают, поэтому она исчезает, когда они идут своим веселым путем. Не хороший способ сохранить данные.
Лучше всего использовать проверку подлинности с помощью форм, встроенную в ASP.NET, и вы также можете вставить любую информацию, относящуюся к пользователю, в значение билета проверки подлинности с помощью форм. Вы можете получить 4000 байтов (после шифрования), которые должны содержать все, что вам нужно. Он также позаботится о том, чтобы разрешить и запретить пользователям доступ к страницам на сайте, и вы можете установить его срок действия в любое время.
Хранение в сеансе - это no-no , потому что он ОЧЕНЬ плохо масштабируется (расходует ресурсы на сервере) и может раздражать пользователей с несколькими подключениями браузера к одному серверу. Иногда это неизбежно, но вы должны прилагать большие усилия, чтобы избежать этого, если можете.