как функция, обрабатываемая viewstate, обрабатывается в mvc - PullRequest
0 голосов
/ 18 января 2012

Я узнал, что в MVC нет состояния просмотра.

У меня два вопроса относительно состояния просмотра.

первый вопрос:

В классических веб-формах Viewstateиспользуется для поддержания контрольных состояний во время поездок туда и обратно.даже мне не ясно с этим пунктом.Я читал где-то, как если бы я отключил ViewState на странице, все элементы управления формы будут очищены после обратной передачи.Я не чувствую, что это является веской причиной необходимости состояния просмотра.Ядро ASP.net может справиться с этой ситуацией (состояние mainatianing) без viewstate.

и мой второй вопрос: какая часть MVC обрабатывает ответственность состояния представления.*

Ответы [ 2 ]

3 голосов
/ 18 января 2012

ViewState не нужен, потому что нет никаких серверных элементов управления (по крайней мере, не должно быть).

Просто так, как на самом деле.

Серверные элементы управления используют ViewState для отслеживания(в некоторых случаях все) значения свойств, которые необходимо восстановить при повторной публикации страницы.Точно так же это механизм, с помощью которого можно запускать события на стороне сервера, такие как TextChanged - сервер повторно гидратирует значение asp:TextBox * Text, как это было при сохранении ViewState на странице, и сравнивает егок значению, которое отправлено обратно - если оно отличается, событие запускается.Например.

По правде говоря, ViewState - очень умное решение ... Но я должен сказать, что ненавижу его.

В MVC, когда отображается текстовое поле (или, если я долженскажем, ввод HTML type=text), а затем отправленный обратно, его значение возвращается из запроса.На сервере вы затем воссоздаете данные, необходимые для повторного составления представления.

Я написал довольно много сайтов MVC сейчас - и у меня даже не было необходимости переключать состояние сеанса.

Если вы пришли из Asp.Net Forms, поначалу это может быть просто ошеломляющим (это действительно зависит от того, насколько вам комфортно с HTML в целом), но в конечном итоге это невероятно раскрепощает;и, очевидно, имеет огромное значение для производительности.

0 голосов
/ 18 января 2012

Понял.моя концепция была неправильной.

состояние просмотра используется для восстановления свойств элемента управления на стороне сервера с допустимыми данными.Функциональность удаления обрабатывается привязкой модели в MVC.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...