对象引用未设置为对象的实例,而是

本文关键字:实例 而是 对象 设置 对象引用 | 更新日期: 2023-09-27 18:00:27

我这里肯定缺少一些东西,但我已经在范围内调用了提交对象的一个实例,当我试图在另一行中使用它时,我会抛出这个错误,即没有设置对实例的引用。什么东西?

protected void Page_Load(object sender, EventArgs e)
{
    string x = Request.QueryString["SubmissionId"];
    SubmissionService ss = new SubmissionService();
    Submission sub = ss.getSubmissionByID(x);
if (sub.Status1.Equals(0))
    {
        PanelComment.Visible = false;
    }
    else

对象引用未设置为对象的实例,而是

这些可能为空:

ss 
sub
sub.Status1
x

设置断点,然后调试。。。

提交对象'sub'上的Status1属性可能为null。。。

给定您提供的代码,可能有三个原因:

  1. 如果"Status1"属性为null,则会生成NullReferenceException
  2. PanelComment为null
  3. sub为空

给定代码,以下属性可能为空:

  • 提交子文件(如果没有ID=x的提交文件)
  • 子状态1
  • 列出项目

PanelComment

只需通过以下操作更改您的代码:

Submission sub = String.IsNullOrEmpty(x) ? null : ss.getSubmissionByID(x);
if (sub!= null && sub.Status1 == 0){
...

它应该修复大多数空引用。