MVC3通过ModelState添加和显示消息

Sha*_*ham 4 c# modelstate data-annotations asp.net-mvc-3

我有一个场景,我需要在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) { ...... ...... } }
Run Code Online (Sandbox Code Playgroud)

Sim*_*ead 11

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

ModelState.AddModelError("Username", "Invalid Username provided.");
//                       ^^^^^^^^^^ Username property of model
Run Code Online (Sandbox Code Playgroud)

当然,这必须与您ValidationSummaryValidationMessage您的观点相结合.