2 回答

縹緲止盈
TA貢獻(xiàn)2041條經(jīng)驗(yàn) 獲得超4個贊
首先,你的錯誤提示和你傳的代碼不匹配。錯誤提示是字符串轉(zhuǎn)時間類型出錯,而代碼里面是querystring中的參數(shù)轉(zhuǎn)化成int32。
其次,querystring當(dāng)中的參數(shù)在使用前要先判斷這個參數(shù)是否存在,即:
if(Request.QueryString["id"]!=null)
最后,獲取參數(shù)后要轉(zhuǎn)換成字符串并去除可能有的后置空格,如下
int id = Convert.ToInt32(Request.QueryString["id"].tostring().trim());

ibeautiful
TA貢獻(xiàn)1993條經(jīng)驗(yàn) 獲得超6個贊
Convert.ToInt32()只負(fù)責(zé)把"12345"或者"5678"這樣的字符串轉(zhuǎn)換為整數(shù),而"1ar3243"或者"2013-0306"這樣的不符合數(shù)字規(guī)則的在轉(zhuǎn)換的時候就會出現(xiàn)錯誤。
所以要加入錯誤捕捉
int id=-1; try { id = Convert.ToInt32(Request.QueryString[ "id" ]); } catch {} if (id > -1) { //....在這里加入正常執(zhí)行的代碼 } else { //錯誤提示:比如ID錯誤 } |
添加回答
舉報
0/150
提交
取消