我试图在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)
{
[...]
}
[...]
}
Run Code Online (Sandbox Code Playgroud)
这是模型:
[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; }
}
Run Code Online (Sandbox Code Playgroud)
我如何使用此方法"UpdateModel"?
GvS*_*GvS 10
也许您的数据与验证不符.
我会尝试TryUpdateModel.
TryUpdateModel方法与UpdateModel方法类似,只是如果更新的模型状态无效,则TryUpdateModel方法不会抛出InvalidOperationException异常.
查看您的ModelState条目(可访问this.ModelState
).
ModelState中包含了每个属性,并在您试图绑定模型属性的内容中的错误.您有可能在帖子中传递错误的数据类型或获取操作.
归档时间: |
|
查看次数: |
6858 次 |
最近记录: |