Потеря ценностей в PostBack - PullRequest
1 голос
/ 22 марта 2012

Мне пришлось по какой-то причине использовать скрытое поле для сохранения идентификатора, который был первоначально отправлен в мое представление (ViewModel отправляется в мое представление с этим идентификатором).Я знаю, что отправляю действительное значение идентификатора ... это не проблема.

Так, например, я загружаю ViewModel с CarId.Во время выполнения я проверяю, и это действительное целое число, то же самое целое число, которое я передал ему из действия контроллера, отправившего его в это представление.

Проблема в том, что я нигде не использую / не ссылаюсь на этот идентификаторв разметке представления через Razor, я думаю, именно поэтому он не сохраняется во время обратной передачи.Поскольку я замечаю, что когда я делаю ссылку на это поле в разметке, оно включается / сохраняется с обратной передачей.

Несмотря на то, что у меня есть это в макете, в котором указано, что нужно сохранить всю модель целиком, он не сохраняет этот идентификатор, когда я не использую его в форме, когда он выполняет действие обновления в связанном контроллере.:

@using (Html.BeginForm(null, null, FormMethod.Post, new { @model = Model }))

Поэтому, когда это сообщение возвращается, я должен добавить это, иначе идентификатор не будет сохранен с другими значениями в ViewModel

@Html.HiddenFor(model => model.CarId )

Кто-нибудь знает, что яотсутствует здесь как в основах?

1 Ответ

1 голос
/ 22 марта 2012

Ваше действие POST получит только те данные, которые действительно имеют форму.
Волшебным образом не получается остальная часть модели.

Обратите внимание, что злоумышленники могут изменить все эти данные.

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