По умолчанию динамические веб-страницы не сохраняют свое состояние. Например, вы устанавливаете значение для переменной в событии загрузки страницы на странице asp.net. Вы хотите увеличить эту переменную, когда пользователь нажимает кнопку. Это невозможно, поскольку при каждой обратной передаче страницы создается переменная и выполняется событие загрузки страницы, поэтому для переменной устанавливается начальное значение. Затем вам нужен способ сохранить значение переменной, даже если происходит обратная передача страницы. Viewstate может быть использовано для решения этой проблемы.