ASP_NET判断URL参数是否存在
2011-04-22 17:26
519 查看
在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很容易就判断出来了!
!= 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很容易就判断出来了!
相关文章推荐
- ASP.NET判断URL参数是否存在
- ASp.net判断文件或文件夹是否存在
- Asp.Net判断文件是否存在
- [ASP.NET]对Oracle数据库创建表/判断数据表是否已存在
- asp.net如何判断服务器上的目录或文件是否存在
- asp.net 判断数组是否存在某个值的方法
- asp.net(c#)判断远程图片是否存在
- 判断字符串是否存在某一字符 asp.net
- asp.net判断服务器上的目录或文件是否存在!(实例)
- ASP.NET对文件的操作,创建文件,判断文件是否存在,判断文件是否存在删除文件夹
- asp.net 判断数组是否存在某个值的方法
- ASP.net 2.0 C#判断文件夹与文件是否存在
- ASP.NET判断物理路径下是否存在某文件,如果不存在则创建
- asp.net 判断指定路径指定文件夹下是否有图片文件存在
- ASP.net 2.0 C#判断文件夹与文件是否存在
- ASP.NET 页面传递URL 指定的参数 不存在 时异常。怎么做判断
- asp.net上传图片并判断是否存在限制图片大小