繁体   English   中英

错误:对象引用未设置为对象的实例?

[英]Error: Object reference not set to an instance of an object?

例如,在Login.aspx ,我有两个链接。

<a href="Main.aspx?site=facebook">Facebook_link</a>
<a href="Main.aspx">Google_link</a> // (I wouldn't like to wirte "Main.aspx?site=google"

Main Page_Load ,有:

if(Request.QueryString["site"].ToString()!="facebook")
{
.....
}

Login page如果我click Facebook_link ,然后转到Main page ,则一切正常。

但是在Login page如果我click Google_link ,然后转到Main page ,则会error [Error: Object reference not set to an instance of an object]

我知道为什么会收到此错误。

我想问问是否可以在Main page检查“如果存在Request.QueryString["site"] ,请执行此操作”。

Request.QueryString["site"]可能评估为null。

为了防止这种情况的发生,您需要像这样检查null:

var queryString = Request.QueryString["site"];

if (queryString != null && queryString.ToString() != "facebook")
{    .....
}

尝试这个:

if (Request.QueryString["site"]!= null && Request.QueryString["site"]!= "facebook")
{    .....
}

QueryString类似于会话,隐藏字段。 一旦设置了一个值,它将一直保持到您更改它为止。 您告诉过您单击Facebook链接。 因此,即使您单击Google链接,querystring也会保留值“ facebook”。 因为您尚未在Google上设置任何值。 所以就这样吧

<a href="Main.aspx?site=google">Google_link</a>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM