【发布时间】:2019-04-13 03:21:54
【问题描述】:
ModelState.IsValid 在我的编辑表单中总是返回 false。它甚至没有击中try catch。我做错了什么?
[AcceptVerbs("POST", "PUT")]
public ActionResult Edit(ItemModel model)
{
int customerID = model.customerID;
using (BusinessLogicLayer BLL = new BusinessLogicLayer())
{
if (ModelState.IsValid)
{
try
{
BLL.InsertData(model.customerID);
BLL.SaveChanges();
}
catch (Exception e)
{
return View();
}
}
}
return View();
}
【问题讨论】:
-
如果
ModelState无效,那么您从表单中发布的值对于模型的属性无效。您还没有显示模型或视图,因此我们无法回答这个问题,但您可以检查ModelState以确定键(属性名称)和相关错误(或使用var errors = ModelState.Keys.Where(k => ModelState[k].Errors.Count > 0).Select(k => new { propertyName = k, errorMessage = ModelState[k].Errors[0].ErrorMessage });)
标签: c# asp.net-mvc entity-framework modelstate