所以我有一个派生自SurfaceController的控制器。
我有部分观点。
当用户点击提交时,它会发布到控制器方法。此方法将对模型和其他业务逻辑进行一些验证。
如果失败,我想将模型返回到显示错误消息的部分视图。我在这种情况下使用ModelState.AddModelError将错误添加到模型状态。
我这样做,我在部分视图区域看不到任何错误。
任何想法为什么?我不明白为什么这样做:
返回PartialViewResult(model);
甚至:
返回CurrentUmbracoPage();
它没有显示错误。
这是我正在使用的代码......
[HttpPost]
public PartialViewResult Login(UserLogin ReceivedModel)
{
if (ModelState.IsValid == false)
{
return PartialView(ReceivedModel);
}
try
{
var returnedData = someClass.DoSomething(ReceivedModel);
if (!returnedData.Valid)
{
ModelState.AddModelError("Problem....");
return PartialView(ReceivedModel);
}
}
catch (Exception ex)
{
ModelState.AddModelError(string.Empty, ex);
return CurrentUmbracoPage();
}
}
因此,当我返回PartialView(ReceivedModel)(或返回CurrentUmbracoPage())时,它会显示页面但不显示错误。
答案 0 :(得分:0)
你有吗
@ Html.ValidationMessageFor(x => Model.xxxx,“必填字段”)
在你看来?