猿问

使用int id却提示出错?该怎么解决呢?具体看下面情况

int id = Convert.ToInt32(Request.QueryString["id"]);提示出错,

怎么解决啊



喵喵时光机
浏览 397回答 2
2回答

缥缈止盈

首先,你的错误提示和你传的代码不匹配。错误提示是字符串转时间类型出错,而代码里面是querystring中的参数转化成int32。其次,querystring当中的参数在使用前要先判断这个参数是否存在,即:if(Request.QueryString["id"]!=null)最后,获取参数后要转换成字符串并去除可能有的后置空格,如下int id = Convert.ToInt32(Request.QueryString["id"].tostring().trim());

ibeautiful

Convert.ToInt32()只负责把"12345"或者"5678"这样的字符串转换为整数,而"1ar3243"或者"2013-0306"这样的不符合数字规则的在转换的时候就会出现错误。所以要加入错误捕捉int id=-1;try{    id = Convert.ToInt32(Request.QueryString["id"]);}catch{} if(id > -1){    //....在这里加入正常执行的代码}else{    //错误提示:比如ID错误}
随时随地看视频慕课网APP
我要回答