当我尝试使用“在浏览器中查看”选项从 VS 2008 中的 IDE 打开页面时,出现“对象引用未设置为对象实例”错误。
我收到此错误的代码:
XResult = Request.QueryString["res"];
TextBox1.Text = XResult.ToString();
当我尝试使用“在浏览器中查看”选项从 VS 2008 中的 IDE 打开页面时,出现“对象引用未设置为对象实例”错误。
我收到此错误的代码:
XResult = Request.QueryString["res"];
TextBox1.Text = XResult.ToString();
这里的问题是XResult
,null
当您调用ToString
它时,代码会生成一个NullReferenceException
. 您需要通过进行显式null
检查来解决此问题
TextBox1.Text = XResult == null ? String.empty : XResult.ToString();
如果您在没有“res”查询字符串的情况下打开页面,那么您需要在对它执行任何操作之前包含对 null 的检查。
if (Request.QueryString["res"] != null)
{
XResult = Request.QueryString["res"];
TextBox1.Text = XResult.ToString();
}
该错误可能是因为 REquest.QueryString 方法未在 url 中找到“res”的值,因此当您尝试对空对象执行“toString”时,会出现该异常。
您的代码需要一个查询字符串http://localhost:xxxx/yourapp?res=yourval
。它不存在于提供给浏览器的地址中。在项目属性的Web部分中,您可以提供适当的 URL。当然,支持您的代码以允许这样做是可取的。
XResult 已经是一个字符串,因此不需要调用 ToString。这也应该可以解决您的问题。
这里的问题是 XResult 为空,当您调用ToString
它时,代码会生成一个NullReferenceException
. 您需要通过执行显式空检查来解决此问题:
if (Request.QueryString["res"] != null)
{
XResult = Request.QueryString["res"];
TextBox1.Text = XResult.ToString();
}