C# 对象引用未设置为对象的实例

C# 对象引用未设置为对象的实例,c#,reference,request.querystring,C#,Reference,Request.querystring,当我尝试在VS2008中使用“在浏览器中查看”选项从IDE打开页面时,会出现“对象引用未设置为对象实例”错误 我得到的这段代码有以下错误: XResult = Request.QueryString["res"]; TextBox1.Text = XResult.ToString(); 您的代码需要一个查询字符串http://localhost:xxxx/yourapp?res=yourval。它不在提供给浏览器的地址中。在项目属性的web部分,可以提供适当的URL。当然,支持您的

当我尝试在VS2008中使用“在浏览器中查看”选项从IDE打开页面时,会出现“对象引用未设置为对象实例”错误

我得到的这段代码有以下错误:

 XResult = Request.QueryString["res"];    
 TextBox1.Text = XResult.ToString();

您的代码需要一个查询字符串
http://localhost:xxxx/yourapp?res=yourval
。它不在提供给浏览器的地址中。在项目属性的web部分,可以提供适当的URL。当然,支持您的代码以允许这样做是可取的。

该错误可能是因为REquest.QueryString方法在url中找不到“res”的值,因此当您尝试对包含该exeption的空对象执行“toString”时。

这里的问题是
XResult
null
,当您调用
ToString
时,代码会生成
null引用异常。您需要通过执行显式
null
检查来说明这一点

TextBox1.Text = XResult == null ? String.empty : XResult.ToString();

如果打开页面时没有“res”查询字符串,那么在对其执行任何操作之前,需要包含null检查

if (Request.QueryString["res"] != null)
{
    XResult = Request.QueryString["res"];
    TextBox1.Text = XResult.ToString();
}

这里的问题是XResult为null,当您调用
ToString
代码在其上生成一个
NullReferenceException
。您需要通过执行显式空检查来说明这一点:

if (Request.QueryString["res"] != null)
{
    XResult = Request.QueryString["res"];
    TextBox1.Text = XResult.ToString();
}

字符串上的.ToString()不会引发错误。问题是XResult为null,因为它在查询字符串中找不到“res”。它已经是一个字符串,不需要调用
.ToString()
,但它不会解决问题。它将解决null引用异常,因为对null调用.ToString()将引发异常。