我试图在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”?
答案 0 :(得分:10)
也许您的数据与验证不符。
我会尝试TryUpdateModel。
TryUpdateModel方法与UpdateModel方法类似,只是如果更新的模型状态无效,则TryUpdateModel方法不会抛出InvalidOperationException异常。
答案 1 :(得分:9)
查看您的ModelState条目(可通过this.ModelState
访问)。
ModelState包含每个属性的条目以及您尝试绑定的模型中该属性的错误。您有可能在帖子中传递错误的数据类型或获取操作。
答案 2 :(得分:0)
使用:
ChromePhp::log('Hello console!');
console.log('Hello console!');
我希望这能解决问题。