【问题标题】:mvc4 modelstate check what is wrongmvc4 modelstate 检查有什么问题
【发布时间】:2014-07-09 06:09:40
【问题描述】:

我的 HTTP 操作方法中有一些代码,还有一个模型状态来确保一切都有效;当我放置模型状态时,我的代码不会执行并直接转到重定向

        if (ModelState.IsValid)
            {
                db.Entry(profile).State = EntityState.Modified;
                db.SaveChanges();
                ViewBag.success = "Your changes have been saved";
                return View(new article_detail() { profile = profile });
            }
               return RedirectToAction("edit");

有没有一种方法可以用来找出我的模型中的哪个字段导致 ModelState 不通过?通常我这样做的方法是做一个断点,然后查看每个字段以查看发生了什么,但我想知道是否有更有效的方法..任何建议都会很棒。

【问题讨论】:

    标签: asp.net-mvc-4 modelstate


    【解决方案1】:

    在控制器操作的开头添加以下行并在其上激活断点:

    var modelStateErrors = ModelState
        .Where(x => x.Value.Errors.Count > 0)
        .Select(x => new { x.Key, x.Value.Errors })
        .ToArray();
    

    当你的控制器动作被调用并且断点被命中时,按下 F10 并检查modelStateErrors 变量的值。它可能会帮助您知道您忘记发布哪个字段以使您的模型有效。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-10
      • 1970-01-01
      • 2015-03-21
      • 2018-05-15
      • 1970-01-01
      • 2012-08-14
      • 2013-07-29
      相关资源
      最近更新 更多