MVC3 Add&通过ModelState显示消息

时间:2013-07-23 04:43:40

标签: c# asp.net-mvc-3 data-annotations modelstate

我有一个场景,比如我需要在Edit [GET]请求中显示来自DB的错误消息。

我知道如果请求类型是[POST],可以这样做,但我们如何在[GET]请求中执行此操作。

相同代码:

    [HttpGet]
    public ActionResult Edit(Int64 ID)
      {
         tblSample1 model = GetData(ID);
         ViewData.ModelState.AddModelError(model.Username, "Invalid Username provided.");
         return View("~/Views/Sample1/_Edit.cshtml", model);
      }

[HttpPost] public ActionResult Edit(tblSample1 model) { if (ModelState.IsValid) { ...... ...... } }

1 个答案:

答案 0 :(得分:11)

这应该仍然有用。 AddModelError的第一个参数是关键。你传递了属性Username的值...这是行不通的。你想要的是传递属性名称作为键:

ModelState.AddModelError("Username", "Invalid Username provided.");
//                       ^^^^^^^^^^ Username property of model

当然,您必须在视图中加上ValidationSummaryValidationMessage