我在我的视图模型中设置了验证,如下所示:
[Required(ErrorMessage = "This field is required.")]
[StringLength(25, MinimumLength = 6)]
[DataType(DataType.Password)]
public string Password { get; set; }
[DataType(DataType.Password)]
[System.Web.Mvc.CompareAttribute("Password", ErrorMessage = "Password must be the same")]
public string ConfirmPassword { get; set; }
当我提交表单时,我检查ModelState.IsValid
它是否无效,然后返回原始视图,但这样做会丢失模型中的原始数据。
[HttpPost]
public ActionResult Form(MemberAddViewModel viewModel, string returnUrl)
{
if (ModelState.IsValid)
{
...
}
return View("Form", viewModel);
}
我本来希望将viewModel
其传递回原来的View
,但似乎只有视图中填充的模型项是。对此的最佳做法是什么?隐藏字段/会话数据?