尝试访问FormValues()元素时获取异常

时间:2010-10-08 21:03:47

标签: asp.net-mvc vb.net

例外:

"Input string was not in a correct format."

当我尝试访问我的页面上的字段时出现:

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

然而,它适用于另一个与字段类型完全相同的字段,可以这样访问:

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

错配和例外可能来自哪里?可能是什么错?当我拉动它时,该字段没有值。我是否必须测试此数字字段的值是否与文本字段的值不同?

1 个答案:

答案 0 :(得分:2)

很明显,您正在尝试将字符串值解析为无法解析为整数的整数。查看实际发送到服务器的内容,以了解为何无法将值解析为整数。 FireBug是一个很有用的工具。特别是在请求中查找TransmissionId值(它是否存在,值是什么)。您还可以使用TryParse方法来避免异常并优雅地处理错误。

更好的解决方案是将视图模型用作操作参数,并将解析保留为默认模型绑定器。通过这种方式,您可以完全摆脱您编写的代码,因为它将由活页夹处理。