2010-10-08 26 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