ASP.NET MVC 2 Модель частичного связывания - PullRequest
0 голосов
/ 14 июля 2010

Моя проблема в том, что я хочу частично отредактировать свою модель - отобразить 2 поля и отредактировать, например, еще 2 поля. Когда происходит POST, возвращаемая модель содержит только те поля, которые доступны для редактирования, остальные поля, которые я использую только для отображения, имеют значение NULL. Как это исправить, на POST должна быть возвращена модель со всеми полями, потому что на ERROR, когда я возвращаю эту модель и поля NULL, не так хорошо?

1 Ответ

3 голосов
/ 14 июля 2010

Связыватель модели связывает значения формы только со свойствами модели, которые имеют установщик.

В зависимости от того, что вам нужно достичь:

Вы можете использовать скрытые входы для хранения значений в представлении, они будут привязаны обратно (учитывая, что свойства имеют установщик)

<%= Html.Hidden(Model.SomeField) %>

class YourViewModel
{
    public SomeField {get; set;}

Или вы должны убедиться, что в действии вашего контроллера вы обновляете только те поля, которые вы отображали в представлении, а не нулевые.

В идеале ваша модель представления должна содержать только те свойства, которые важны для представления (и для логики, обрабатываемой контроллером).

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