我遇到的问题是我的验证消息在添加操作中显示正常,但是当涉及到更新页面时,验证消息未显示:
这是我的操作,IsValid显示为false,操作重定向到编辑视图,但没有显示任何验证消息。我的方法有问题吗?
[Authorize]
public ActionResult UpdateCar(CarDTO car)
{
try
{
_carTask.Update(car); //required Name field not set
}
catch (RulesException ex)
{
ex.AddModelStateErrors(ModelState, null);
}
if (!ModelState.IsValid)
{
return RedirectToAction(ViewNames.EditCar, new {carKey = car.carKey});
}
return RedirectToAction(ViewNames.Home, new {carKey = car.carKey});
}
<li>
<label for="Name">Car Name:</label>
<%= Html.TextBoxFor(x => x.Name, new { watermark="Car Name" })%>
<br />
<%= Html.ValidationMessage("Name") %>
</li>
答案 0 :(得分:2)
如果表单无效,那么您将重定向到新页面,该页面将丢失您设置的任何模态错误值。而只是返回视图。没有检查语法,但是如下所示。
if (!ModelState.IsValid)
{
return View(ViewNames.EditCar, new {carKey = car.carKey});
}
return RedirectToAction(ViewNames.Home, new {carKey = car.carKey});