2010-10-08 63 views
0

的异常时,遇到了异常试图访问FormValues()元素

.TransmissionId = IIf(FormValues("TransmissionId").Length > 0, Integer.Parse(FormValues("TransmissionId")), 0) 

但是它适用于其他领域这是相同的确切类型的字段,像这样访问:

.StateId = IIf(FormValues("StateId").Length > 0, Integer.Parse(FormValues("StateId")), 0) 

哪里可能会出现不匹配和异常comin g从?可能是什么错?当我拉它时,该字段没有任何价值。我是否必须为这个数字字段测试一个不同于我对文本字段不同的值?

回答

2

很明显,你正试图将一个字符串值解析为一个不能被解析为整数的整数。查看实际发送到服务器的内容,以了解为什么无法将该值解析为整数。 FireBug是一个有用的工具。尤其要注意请求中的TransmissionId值(是否存在,值是多少)。您也可以使用TryParse方法来避免异常并优雅地处理错误。

更好的解决方案是将视图模型用作动作参数并将解析保留为默认模型联编程序。这样你就可以完全摆脱你写的代码,因为它会被活页夹处理。

+0

我用IsNumeric()代替..但是,这是一个非常好的思想答案,所以我给你检查;) – Scott 2010-10-12 12:17:59