为什么ModelState.IsValid为false,因为条件为真?

时间:2012-04-19 13:47:58

标签: asp.net-mvc

HomeController.cs中的

[HttpPost]
public ActionResult Index(SecurityMappingModel objModel)
{

    //edit code

    if (objModel.Id != Guid.Empty)
    {
        if (ModelState.IsValid)
        {
            mappings = (List<SecurityMappingModel>)Session["Mappings"];
            var objRemove = mappings.FirstOrDefault(m => m.Id == objModel.Id);
            if (objRemove != null)
            {
                mappings.Remove(objRemove);
                mappings.Add(objModel);
                ViewBag.Mappings = mappings;
            }
            Session["Mappings"] = mappings;
return RedirectToAction("Index");
}

在objModel中,其中一个字段的值为0,因为它是一个文本字段,我将值放入其中但在Controller oject objModel中显示字段值为零:( :(为什么???

2 个答案:

答案 0 :(得分:7)

if (yourGuid != Guid.Empty)

答案 1 :(得分:0)

我也遇到过这种错误。

也许解决问题的方法是在Home.cshtml视图中放置这样的代码:

@Html.HiddenFor(model => model.Id)