有两个网址:http://WWW.ABC.ASPX?ID=1
http://WWW.ABC.ASPX
在.cs里面如何用代码判断这两个网址分别有没有id这个参数啊?我用
Request.QueryString["id"].ToString()==null)||(Request.QueryString["id"].ToString().Length==0)
来判断,结果不对,
提示:
未将对象引用设置到对象的实例。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。说明一点;我是想判断网址中有没有id这个参数,不是判断id的值。

解决方案 »

  1.   


    if (Request.QueryString["id"]+""=="")
    {
       ...
    }
      

  2.   


    if(Request.QueryString["id"] != null)
    {
    // 有ID值
    }
    else
    {
    // 没有ID值
    }
      

  3.   

    楼上的都误解我的意思了,说明一点;我是想判断网址中有没有id这个参数,不是判断id的值。
    我想要的是判断网址是否有“id”,而不是他的值等于多少。
    如果.cs里面有Request.QueryString["id"]的话,我在网址输入:
    http://WWW.ABC.ASPX ,
    网址没有id这个参数,Request.QueryString["id"]是会报错的。
      

  4.   

    先获取网址字符串,然后截取字符?ID,如果有存在就说明有ID参数。不知理解是否正确,对楼主可能有帮助。
      

  5.   

    楼主可能是用了 .ToString()方法
    你试试不要用 这个方法
      

  6.   

    如果没这个参数,就是Null,tostring就会出错