ASP.NET MVC вставка значений формы в ViewModel
-
23-08-2019 - |
Вопрос
Я пытаюсь выяснить, есть ли в ASP.NET MVC встроенный способ назначения значений формы, которые отправляются POST, обратно свойствам ViewModel, которые изначально были отправлены в представление?
Итак, я обдумываю идею украшения некоторых свойств ViewModel атрибутом, а затем анализа ViewModel и использования этого имени для извлечения значений (и приведения) из объекта Form[].
Однако я предполагаю, что что-то подобное уже встроено, и поэтому не хочу здесь изобретать велосипед.
Проблема, которую я пытаюсь решить, заключается в том, что пользователь нажимает кнопку в форме, а сервер проверяет данные, и если есть ошибки, мы возвращаем пользователя в форму, используя ту же модель представления для переноса данных и тем самым заполнения значения обратно в форму, которую первоначально ввел пользователь.
(Да, я также выполняю проверку на стороне клиента с помощью JavaScript, чтобы упростить задачу, но в целях безопасности мне приходится повторять проверку на сервере.)
Идеи?
Решение
Вы можете использовать Обновитьмодель или Попробуйтеобновитьмодель в вашем контроллере.
Я рекомендую использовать одну из перегрузок, в которой вы указываете обновляемые поля.
Подробно это описано на странице 78 Wrox Professional ASP.net электронная книга (или глава!)
Другие советы
Я не думаю, что в MVC есть что-то подобное, или, по крайней мере, я ничего не видел.Хотя было бы неплохо, как это делают многие другие MVC-фреймворки (например, стойки).