代码之家  ›  专栏  ›  技术社区  ›  Scott

尝试访问FormValues()元素时出现异常

  •  0
  • Scott  · 技术社区  · 14 年前

    例外情况:

    "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 回复  |  直到 14 年前
        1
  •  2
  •   Darin Dimitrov    14 年前

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

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