Я понимаю, что такие поля, как Html.TextBox(), принимают два значения, первое из которых является именем, а второе - значением. И Html.TextArea(). Но в случае, когда форма представляется как AJAX, а div, где размещена форма, заменяется видом с сервера, поля формы настаивают на принятии предыдущих значений. Изображение стоит тысячи слов:Где поля формы в ASP.Net MVC принимают свои значения?
image http://img132.imageshack.us/img132/4171/aspnetmvcbug.png
Я проверил все на контроллере и модели, и изображение от отладки самого представления. Модель пуста, но поля, созданные из нее, принимают значение предыдущего представления.
О! Таким образом, состояние модели чиста, когда не используется AJAX, потому что я перенаправляю. Добавление ModelState.Clear(), когда метод успешно зафиксировал его. Это способ пойти или я уничтожаю ModelState? – Pablo
Я уверен, что ModelState.Clear() в порядке - я использую его в нескольких местах в своем коде. Он очистит все сообщения валидации от ModelState, а также значения формы перед отправкой, но пока вы осознаете, что я думаю, что на самом деле нет проблем с его использованием. –