ASP.NET MVC UpdateModel抛出异常:“模型无法更新”

时间:2010-10-28 12:32:32

标签: asp.net-mvc

我试图在MVC中更新一个简单的模型,但是它不起作用,它抛出了一个异常,说模型无法更新:

      [HttpPost]
        public ActionResult SignIn([Bind(Exclude="TxtEmail")]Usuarios usuario,FormCollection fc)
        {
            try
            {
                UsuariosModel userModel = new UsuariosModel(usuario);
                userModel.Usuarios.TxtEmail = "test@test.com";

                UpdateModel(userModel);

                if (ModelState.IsValid)
                {
                 [...]
                }
                [...]
        }

这是模型:

[Required(ErrorMessage="**O email é requerido")]
[RegularExpression("^[a-z0-9_\\+-]+(\\.[a-z0-9_\\+-]+)*@[a-z0-9-]+(\\.[a-z0-9-]+)*\\.([a-z]{2,4})$",ErrorMessage="**Email Inválido")]
public string TxtEmail
{
    get { return this.txt_email; }
    set { this.txt_email = value; }
}

我如何使用此方法“UpdateModel”?

3 个答案:

答案 0 :(得分:10)

也许您的数据与验证不符。

我会尝试TryUpdateModel

  

TryUpdateModel方法与UpdateModel方法类似,只是如果更新的模型状态无效,则TryUpdateModel方法不会抛出InvalidOperationException异常。

答案 1 :(得分:9)

查看您的ModelState条目(可通过this.ModelState访问)。

ModelState包含每个属性的条目以及您尝试绑定的模型中该属性的错误。您有可能在帖子中传递错误的数据类型或获取操作。

答案 2 :(得分:0)

使用:

ChromePhp::log('Hello console!');
console.log('Hello console!');

我希望这能解决问题。