[英]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.