int id = 0;
if (Request.QueryString["id"] != null)
id = int.Parse(Request.QueryString["id"]);后来发现URL为:http://www.mzwu.com/?id=,原因是Request.QueryString["id"]的值为一个空字符串,所以通过了Request.QueryString["id"] != null的验证,但将空字符串传给int.Parse方法,还是报错了,可见,光判断参数是否存在还是不够的,还必须得进一步判断是否有传值才行,最终代码改为:
int id = 0;
if (!string.IsNullOrEmpty(Request.QueryString["id"]))
id = int.Parse(Request.QueryString["id"]);原因是:当参数不存在时,参数值为null,调用string.IsNullOrEmpty方法,null会自动转换为空字符串;当参数存在但不传值时,参数值为空字符串,string.IsNullOrEmpty很容易就判断出来了!
评论(0)
暂无评论。