你调用的对象是空的

时间:2011-03-04 19:36:26

标签: c# reference request.querystring

当我尝试使用“浏览浏览器”选项从VS 2008中的IDE打开页面时,我得到“对象引用未设置为对象的实例”错误。

这段代码我得到了这个错误:

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

6 个答案:

答案 0 :(得分:6)

此处的问题是XResultnull,当您在其上调用ToString时,代码会生成NullReferenceException。您需要通过明确的null检查

来解决这个问题
TextBox1.Text = XResult == null ? String.empty : XResult.ToString();

答案 1 :(得分:4)

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

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

答案 2 :(得分:2)

该错误可能是因为REquest.QueryString方法没有在url中找到“res”的值,所以当你尝试对一个空对象执行“toString”时,该操作就会出现。

答案 3 :(得分:1)

您的代码需要查询字符串http://localhost:xxxx/yourapp?res=yourval。它不存在于提供给浏览器的地址中。在项目属性的 web 部分中,您可以提供适当的URL。当然,为了实现这一目的,你需要支持你的代码。

答案 4 :(得分:0)

XResult已经是一个字符串,因此不需要调用ToString。这也应该解决你的问题。

答案 5 :(得分:0)

这里的问题是XResult为null,当你调用ToString时 代码生成NullReferenceException。您需要通过执行显式空检查来解释此问题:

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