4

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

我知道如果请求类型是 [POST] 可以做到这一点,但是我们如何在 [GET] 请求中做到这一点。

相同的代码:

    [HttpGet]
    公共 ActionResult 编辑(Int64 ID)
      {
         tblSample1 模型 = 获取数据(ID);
         ViewData.ModelState.AddModelError(model.Username, "提供的用户名无效。");
         return View("~/Views/Sample1/_Edit.cshtml", model);
      }

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

4

1 回答 1

11

这应该仍然有效。第一个参数AddModelError是关键。您正在将属性的值传递给它Username.. 这不起作用。您想要的是将属性名称作为键传递:

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

当然,这必须与您认为的ValidationSummary或相结合。ValidationMessage

于 2013-07-23T04:52:58.733 回答