ASP.NET MVC - отображение полей модели без обновления значения - PullRequest
0 голосов
/ 09 ноября 2010

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

Вот пример того, как я отображаю эти нередактируемые поля:

<td>Created on:</td>
<td><%= Html.DisplayTextFor(model => model.CreatedOn) %></td>

Однако, когда я отправляю форму, а затем использую точку останова на методе контроллера, чтобы увидеть объект модели, который передается вВ методе с помощью запроса POST для нередактируемых полей устанавливается нулевое или пустое значение (например, дата CreatedOn установлена ​​на 1 января 0001 года).Редактируемые поля возвращаются с правильными значениями.Как я могу отобразить эти нередактируемые поля при сохранении исходного значения при отправке формы обратно в контроллер?

Ответы [ 2 ]

1 голос
/ 10 ноября 2010

Вам не нужно исходное значение. Если вы используете UpdateModel (или TryUpdateModel), вы можете указать, какие свойства следует обновлять. Это решение также намного безопаснее, поскольку вы явно указываете MVC, какие свойства следует обновить.

0 голосов
/ 09 ноября 2010

Вам необходимо использовать скрытое поле, например:

<%= Html.HiddenFor(model => model.CreatedOn) %>

Это будет в дополнение к вашему полю отображения.

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