У меня есть действие контроллера со сложным объектом для входного параметра, который отправляется почтой. В сценарии я бы не хотел, чтобы пользователь отправлял что-то действительное (например, он нажал кнопку «Назад»), но я все еще хочу сохранить состояние формы, поэтому я поместил ее в сеанс.Свойство ViewModel, которое не должно быть установлено на стороне клиента (ASP.NET MVC)
В VM есть свойство, называемое Valid, для маркировки результата проверки состояния модели для последующего использования.
Я бы не хотел, чтобы пользователь каким-то образом отправил это свойство из clientide (например, установив его в ложное положительное состояние, может смутить мой код, если я не буду осторожен).
Есть ли атрибут, например, несериализуемый, который будет использоваться здесь? (Поэтому мне не пришлось бы явно указывать его в false в моем коде).
Часть моего кода (большинство из них сорвет)
[HttpPost]
public ActionResult FormWithDelayedValidation(MyVM vm)
{
SessionVariables.Current.OrderSecondVM = vm;
if (ModelState.IsValid)
{
vm.Valid = true;
return Redirect(somewhere);
}
if (vm != null) vm.Valid = false;
return Redirect(somewhere_else);
}