0
我有一个控制器操作,其中包含由Post发送的输入参数的复杂对象。 在一个场景中,我不希望用户提交一些有效的信息(例如他按下了一个后退按钮),但我仍然想要保留表单的状态,所以我将它放在Session中。不应在客户端设置的ViewModel属性(ASP.NET MVC)
VM上有一个名为Valid的属性,用于标记模型状态验证的结果供以后使用。
我不希望用户以某种方式从客户端发送此属性(例如将其设置为假肯定状态可能会混淆我的代码,如果我不小心)。
是否有一个属性,就像这里使用的不可序列化一样? (所以我不必在我的代码中明确地将它设置为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);
}