Откуда поля формы в ASP.Net MVC берут свои значения? - PullRequest
2 голосов
/ 31 мая 2009

Я понимаю, что такие поля, как Html.TextBox (), принимают два значения: первое - это имя, а второе - значение. И то же самое делает Html.TextArea (). Но в случае, если форма отправляется как AJAX, а элемент div, в котором размещается форма, заменяется представлением с сервера, поля формы требуют принятия предыдущих значений. Изображение стоит тысячи слов:

изображение http://img132.imageshack.us/img132/4171/aspnetmvcbug.png

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

Ответы [ 3 ]

3 голосов
/ 31 мая 2009

Данные обратной передачи хранятся в ModelState. Встроенные методы HtmlHelper будут искать значения, сохраненные в состоянии модели, на основе имени элемента формы при отображении их содержимого.

2 голосов
/ 31 мая 2009

Проверьте свойство View.ModelState. Формы могут получать значения оттуда при определенных обстоятельствах.

0 голосов
/ 31 мая 2009

У вас есть запись ViewData ["Body"]? MVC также попытается привязать элемент управления к элементу ViewData на основе имени.

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