最近用ASP.NET做東西的時候,用到DataGrid,在寫更新操作時總是出現 輸入字符串的格式不正確[FormatException: 輸入字符串的格式不正確。]
System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info) +0的錯誤。一時想不出辦法,搜索了一些東西,無賴多數都是網站上出現的類似的執行錯誤的頁面顯示。
后來突然把DataGrid里成績列為空的項都給填了一遍,居然這次沒有報錯;分析一下,肯定就是空字符串惹的禍。看起來沒問題了。然后,做了做非法數據輸入,有出現了類似問題,看來Parse()僅僅是做轉換,一旦無法完成該項操作,就會拋出一個錯誤來,這樣原因終于找到了,解決辦法也就可以有針對性的作出了,下面列出這個修改后的提交函數
private void btnUpdatelocal_Click(object sender, System.EventArgs e) { for (int i=0; i<DataGrid1.Items.Count; i++) { DataGridItem _item = DataGrid1.Items[i]; System.Web.UI.WebControls.TextBox qtyTextBox = (System.Web.UI.WebControls.TextBox)_item.FindControl("txtGrade"); // with a database, we'd use an update command. |