Это не так.
ViewState хранится внутри самой страницы, в скрытом поле формы. Это полезно в сценариях, в которых состояние фактически является переходным - WebForms полагается на него по умолчанию для состояния управления - но единственный способ для него сохранить при загрузке страницы - принудительно выполнять обратную передачу каждый раз, когда запрос сделал на сервер.
Строка запроса является частью URL - изменение строки запроса приводит к изменению URL. Запрос URL-адреса, где состояние страницы хранится в URL-адресе, сохранит это состояние. Следовательно, существует возможность сохранения состояния даже между сеансами или между пользователями - URL-адрес может быть добавлен в закладки и затем снова запрошен, отправлен по электронной почте и т. Д. Конечно, это состояние прикрепляется к одной странице как части одного URL-адреса. если это необходимо для другой страницы, ее необходимо перенести вручную (добавив строку запроса для этой страницы) или с помощью других средств (файлы cookie, данные POST, данные сеанса на стороне сервера). И, конечно, если вы не хотите, чтобы сохраняли состояние во времени и пространстве ... или ваше состояние очень велико ... строки запроса не подходят.
Обратите внимание, что логически, и ViewState, и состояние, хранящиеся в строках запроса, зависят от страницы; хотя они могут быть перенаправлены на другую страницу как часть запроса GET (строка запроса) или POST (ViewState), браузер сам не будет связывать их с запросами на отдельные страницы и не будет обновлять эти состояния при возврате на предыдущую страницу. , Небольшое количество дополнительной защиты, предоставляемой ViewState (как Эрик отмечает ), - возможно, поэтому г-н Смит рекомендует его для хранения пользовательского -конкретного состояния на одноместном стр. Тем не менее, хаки, заставляющие их работать на нескольких страницах в стороне, это вложение на каждой странице, как правило, делает файлы cookie (или состояние сеанса на стороне сервера, индексированные файлом cookie на стороне клиента) более подходящими для состояния удержания, характерного для данного пользователя или сеанса, но не относится ни к одной отдельной странице.
Лично я никогда не находил ViewState особенно полезным - он хрупок и накладывает серьезные ограничения на то, как может выполняться навигация. Однако, если вы придерживаетесь чистой модели обратной передачи / перенаправления WebForms, ее можно заставить работать эффективно (так как фреймворк будет обрабатывать большинство уродливых деталей за вас). Имейте в виду, что попытка сделать слишком много на одной странице может привести к очень большому количеству ViewState и соответственно к медленному времени загрузки / перезагрузки для ваших пользователей.