C# 对象引用未设置为对象的实例
当我尝试在VS2008中使用“在浏览器中查看”选项从IDE打开页面时,会出现“对象引用未设置为对象实例”错误 我得到的这段代码有以下错误: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。当然,支持您的
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()将引发异常。