Object reference not set to an instance of an object错误解决方案

有个项目需要页面根据传入的值显示对应一条记录,否则就显示所有内容!一开始我的代码如下:


 string QkeyWord = Request.QueryString["KeyWord"].ToString();
        if (QkeyWord!= null)
        {//如果不为空就执行以下语句,可惜在上面string就已经报错了
            this.AccessDataSource1.SelectCommand = "select * from seorank where K_CompanyUid='" + Session["UserName"].ToString() + "' and K_Word='" + QkeyWord + "'  order by K_Date desc";
            this.GvkeyWords.DataBind();
        }
说是没实例化对象,或者值为null成的!报错截图以下所示:

 

网上搜索Object reference not set to an instance of an object.错误,结果都是说的跟这个没关系的!
不得已,自己修改代码再测试了下!


        if (Request.QueryString["KeyWord"].ToString() != null)
        {
            //直接判断还是不行!
        }


protected string QkeyWord;
protected void Page_Load(object sender, EventArgs e)
    {       
        QkeyWord = Request.QueryString["KeyWord"];
        if (QkeyWord != null)
        {
            //上面先定义一个字符型变量,然后取值来赋值,结果还是报错
        } 
    }
最后还是在群里的朋友给出了解答!

 

string QkeyWord = Request.QueryString["KeyWord"];
        if (QkeyWord != null)
        {  //因为值为空,所以不能Tostring!
            this.AccessDataSource1.SelectCommand = "select * from seorank where K_CompanyUid='" + Session["UserName"].ToString() + "' and K_Word='" + QkeyWord + "'  order by K_Date desc";
            this.GvkeyWords.DataBind();
        }

最后得出一个教训,如果是页面刚开始加载就判断别的页面传入的值,应该用语句
QkeyWord = Request.QueryString["KeyWord"]
尽量不要直接用Tostring,切记切记!!
我就是在字符型的变量时都习惯性的加个Tostring()才造成这个错误!
文章出处:飞诺网(http://www.diybl.com/course/4_webprogram/asp.net/netjs/20090313/161332.html)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值