Razor代码如:
@Html.TextBoxFor(Model => Model.Name, new { @Value = student.t_Name })
我在Controller中使用.NET MVC的模型验证,
if (ModelState.IsValid)
{
return RedirectToAction("B");
}
else
{
return View(); // when validation failed
}
我的情况是我有一个编辑功能,例如: 原始数据:
birthday: 1992-05-26
编辑后:
birthday: 1992-05-32
我将此提交给Controller并进行模型验证后,它将验证失败,并返回上一个视图(表单提交前的视图), 我想要它显示
birthday:1992-05-32
而不是
birthday:1992-05-26
答案 0 :(得分:1)
您应该像这样设置进入控制器的ViewModel值:
public ActionResult YourControllerMethod(YourViewModel model)
{
if (ModelState.IsValid)
{
return RedirectToAction("B");
}
else
{
ViewData.Model = model; //where model is your controller model
return View(); // when validation failed
}
}
答案 1 :(得分:1)
返回时需要将当前发布的模型实例传递回视图查看类似:
的内容public ActionResult YourAction(SomeModel model)
{
if (ModelState.IsValid)
{
return RedirectToAction("B");
}
else
{
return View(model);
}
}