Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 4 mvc4模型状态检查出了什么问题_Asp.net Mvc 4_Modelstate - Fatal编程技术网

Asp.net mvc 4 mvc4模型状态检查出了什么问题

Asp.net mvc 4 mvc4模型状态检查出了什么问题,asp.net-mvc-4,modelstate,Asp.net Mvc 4,Modelstate,我的HTTP操作方法中有一些代码,还有一个modelstate来确保所有内容都是有效的;当我放置modelstate时,我的代码不会执行,而是直接转到重定向 if (ModelState.IsValid) { db.Entry(profile).State = EntityState.Modified; db.SaveChanges(); ViewBag.suc

我的HTTP操作方法中有一些代码,还有一个modelstate来确保所有内容都是有效的;当我放置modelstate时,我的代码不会执行,而是直接转到重定向

        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无法通过的字段?通常我这样做的方式是做一个断点,然后查看每个字段,看看发生了什么,但我想知道是否有更有效的方法..任何建议都很好。

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

var modelStateErrors = ModelState
    .Where(x => x.Value.Errors.Count > 0)
    .Select(x => new { x.Key, x.Value.Errors })
    .ToArray();
当调用控制器操作并命中断点时,按F10并检查
modelStateErrors
变量的值。为了使模型有效,它可能会帮助您知道忘记发布哪个字段