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条经验 获得超5个赞
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
提交
取消