各位高手,本人刚刚在学ASP.NET,在通过看北大青鸟的视频里学Request.QueryString语句的时,在运行时提示“未将对象引用设置到对象的实例”提示第25行出错。第25行我写的代码是:
string userName=Request.QueryString["txtUserName"].ToString();
我看来看去不知错在哪,如果不用Request.QueryString,改用Request.Form.Get的话,即
 string userName=Request.Form.Get("txtUserName").ToString();
就能顺利运行。请问这是怎么回事?怎么解决这个问题。各位高手,请教了!

解决方案 »

  1.   

    哦,不好意思,更正一下,用string userName=Request.Form.Get("txtUserName").ToString(); 也会提示“未将对象引用设置到对象的实例”这个错误,
    只有用 string userName=Request["txtUserName"].ToString();这个语句程序才能正常运行,请问各位老大,究竟错在哪里呢?
      

  2.   

    if(Request.QueryString["txtUserName"]!=null)
       string userName=Request.QueryString["txtUserName"].ToString(); 
      

  3.   

    现判断 Request.QueryString["txtUserName"] 是否为NULL ,然后再赋值,或者加try catch 而且Request.QueryString["txtUserName"] 不用加 ToString(); 
      

  4.   

    If (!String.IsNullOrEmpty(Request.QueryString["txtUserName"]))
    {
    }
      

  5.   


    估计是txtUserName
    根本就没有传过来
      

  6.   

    这样写~string userName=Request.QueryString["txtUserName"]==null?"":Request.QueryString["txtUserName"]; 
      

  7.   

    现判断 Request.QueryString["txtUserName"] 是否为NULL ,然后再赋值,或者加try catch 而且Request.QueryString["txtUserName"] 不用加 ToString(); =============
    try 
    {
     If (!String.IsNullOrEmpty(Request.QueryString["txtUserName"]))
    {
    //赋值处理
    }
    }
    catch
    {
     //没有获取值时,进行另外处理
    }
      

  8.   

    未将对象引用设置到对象的实例及有可能是get 方式并没有传值,你看下地址栏的地址 后面有没有参数就知道了
    eg: default.aspx?txtUserName=xxxstring userName=Request["txtUserName"].ToString();
    好使 可能是你有个控件的name叫txtUserNameRequest["txtUserName"].ToString()执行的是Request.Form["txtUserName"]
      

  9.   

    你可以搜一下Request.Form与Request.QueryString的区别
    就明白了~
      

  10.   

     string userName=Request.Form.Get("txtUserName").ToString(); 
    这句话是接受,也就是说Request.Form.Get("txtUserName").ToString(); 没有任何值!
    1,检查你的发送,调试一下看看有没有值
    2,改成            Request.QueryString("txtUserName").tostring();
      

  11.   


    Request.querystring的对象是null,可以这样写
    string userName= Request.QueryString["txtUserName"] == null ? "" :Request.QueryString["txtUserName"].ToString()
    这样username 最多也是"" ,不会出现 null
      

  12.   

    string userName=Request.QueryString["txtUserName"].ToString(); 
    你参数没传递过来
      

  13.   


    主要是搞清楚Request,Request.Form,Request.QueryString的区别:Request.Form:获取以POST方式提交的数据(接收Form提交来的数据);Request.QueryString:获取地址栏参数(以GET方式提交的数据);Request:包含以上两种方式(优先获取GET方式提交的数据),它会在QueryString、Form、ServerVariable中都搜寻一遍。