在web请求的时候我们很多时候需要用到页面传值,但是有时候没有注意就会发生异常。
例如有一个页面的地址为:../index.aspx
它的后台文件里面有处理传值的语句:if (Request.QueryString["TypeID"] == null || Request.QueryString["TypeID"].ToString() =="")
当你的地址../index.aspx?TypeID=1的时候不会发生异常 可以正常运行
但是当你的地址为:../index.aspx的时候 你后台处理传值的语句为 if (Request.QueryString["TypeID"].ToString() =="" ||Request.QueryString["TypeID"].ToString() == null )
时,异常就会发生了。这是因为什么呢
主要原因在Request.QueryString["TypeID"] 是一个对象 和null一样,当你请求Request.QueryString["TypeID"].ToString() ==""的时候,因为Request.QueryString["TypeID"]这个对象根本就不存在当然就不会转换成为""了,所以在不确定是否有页面传值的时候,我们最好要判断一下传过来的对象存不存在,然后在对它进行字符串处理,这样就不发生异常了。