int id = Convert.ToInt32(Request.QueryString["id"]);提示出錯,怎么解決啊
2 回答

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

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