当前位置:   article > 正文

ASP.NET判断URL参数是否存在 _asp.net querystring 判断有值

asp.net querystring 判断有值

ASP.NET中,若要将一个URL参数值赋值给一个变量,都得先判断参数是否存在,否则等待你的很可能就是"未将对象引用设置到对象的实例",以前都是 Request.QueryString["xx"] != null比较后再赋值,但今天在一个项目中发现竟还报错,代码大致结构如下:

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很容易就判断出来了!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/284011?site
推荐阅读
相关标签
  

闽ICP备14008679号