最近用ASP.NET做東西的時(shí)候,用到DataGrid,在寫(xiě)更新操作時(shí)總是出現(xiàn) 輸入字符串的格式不正確[FormatException: 輸入字符串的格式不正確。]
System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info) +0的錯(cuò)誤。一時(shí)想不出辦法,搜索了一些東西,無(wú)賴(lài)多數(shù)都是網(wǎng)站上出現(xiàn)的類(lèi)似的執(zhí)行錯(cuò)誤的頁(yè)面顯示。
后來(lái)突然把DataGrid里成績(jī)列為空的項(xiàng)都給填了一遍,居然這次沒(méi)有報(bào)錯(cuò);分析一下,肯定就是空字符串惹的禍。看起來(lái)沒(méi)問(wèn)題了。然后,做了做非法數(shù)據(jù)輸入,有出現(xiàn)了類(lèi)似問(wèn)題,看來(lái)Parse()僅僅是做轉(zhuǎn)換,一旦無(wú)法完成該項(xiàng)操作,就會(huì)拋出一個(gè)錯(cuò)誤來(lái),這樣原因終于找到了,解決辦法也就可以有針對(duì)性的作出了,下面列出這個(gè)修改后的提交函數(shù)
| 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. |
