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

时间:2011-06-23 19:10:41

标签: c# asp.net visual-studio oop

我必须在这里遗漏一些东西,但是我已经在范围内调用了我的提交对象的实例,当我尝试在另一行中使用它时,我抛出了关于不设置对实例的引用的错误。是什么给了什么?

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

4 个答案:

答案 0 :(得分:3)

这些可以为null:

ss 
sub
sub.Status1
x

放一个断点,然后调试......

答案 1 :(得分:1)

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

答案 2 :(得分:1)

鉴于您提供的代码,可能有三个原因:

  1. “Status1”属性为null,这将生成NullReferenceException。
  2. PanelComment为空
  3. sub为null

答案 3 :(得分:0)

根据代码,以下属性可以为null:

  • 提交子(如果没有提交ID = x)
  • sub.Status1
  • 列表项

PanelComment

只需按以下方式更改您的代码:

Submission sub = String.IsNullOrEmpty(x) ? null : ss.getSubmissionByID(x);

if (sub!= null && sub.Status1 == 0){
...

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