剃须刀代码类似:
@Html.TextBoxFor(Model => Model.Name, new { @Value = student.t_Name })
和我在控制器中使用.NET MVC的模型验证,
if (ModelState.IsValid)
{
return RedirectToAction("B");
}
else
{
return View(); // when validation failed
}
我的情况是我有一个编辑功能,例如:原始数据:
birthday: 1992-05-26
编辑后:
birthday: 1992-05-32
我将其提交给控制器并进行模型验证后,它将验证失败,然后返回以前的视图(在表单提交之前的视图),我想要它显示
birthday:1992-05-32
而不是
birthday:1992-05-26
您应该设置像这样的控制器的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
}
}
您需要将当前发布的模型实例传递回视图时的视图:
public ActionResult YourAction(SomeModel model)
{
if (ModelState.IsValid)
{
return RedirectToAction("B");
}
else
{
return View(model);
}
}