2011-06-23 38 views
0

我必須在這裏丟失一些東西,但我有一個我的提交對象的實例調用了,在範圍內,當我嘗試在另一行中使用它時,我拋出了關於沒有設置對實例的引用的錯誤。是什麼賦予了?對象引用未設置爲對象的實例,但是?

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 
+5

你確定ss.getSubmissionByID(x);沒有返回null? – Stecya

+0

@Brazos如果您根據我在之前文章中的建議更改了'getSubmissionByID()',則有可能返回null。試試'if(sub!= null && sub.Status1 == 0)' –

+0

確切的說,還有檢查字符串x的值 – Rahul

回答

1

這有可能是你的提交對象「子」的狀態1屬性爲null ...

+0

就這樣。在該方法的查詢中忽略了該字段。今天我真的帶來了我的A遊戲。咄。感謝你和@Bas,以及有用的評論者。 –

1

既然你提供的代碼,可能有三種原因:

  1. 的「 Status1「屬性爲空,這會生成一個NullReferenceException。
  2. PanelComment是空
  3. 子是空
+0

構造函數調用後ss不能爲null – Bas

3

這些可能是零:

ss 
sub 
sub.Status1 
x 

放一個斷點,調試......

0

鑑於代碼,以下屬性可爲空:

  • 提交分(如果沒有提交與ID = X)
  • sub.Status1
  • 列表項

PanelComment

只需通過以下更改代碼:

​​

它應該修復大部分空引用。

相關問題