ASP.NET.MVC异常--无法将类型为System.Int32的对象强制转换为类型System.String

时间:2020-11-24 13:32:11

异常描述:


断点调试的时候,程序未执行到action,就报错了,

检查了View,未发现错误,之后检查model,发现错误,错误是在一个int类型的属性上加了[StringLength]注解.

异常信息:


  说明:

     执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

  异常详细信息:

     System.InvalidCastException: 无法将类型为“System.Int32”的对象强制转换为类型“System.String”。

  堆栈跟踪:
      [InvalidCastException: 无法将类型为“System.Int32”的对象强制转换为类型“System.String”。]
    System.ComponentModel.DataAnnotations.StringLengthAttribute.IsValid(Object value) +46
    System.ComponentModel.DataAnnotations.ValidationAttribute.IsValid(Object value, ValidationContext validationContext) +115


异常解决:


检查出错的View 对应的model中,是否有int类型的属性,注解了[StringLength],如果有,移除掉即可