2011-06-02 34 views
-3

可能重複:
System.NullReferenceException: Object reference not set to an instance of an objectSystem.NullReferenceException:對象不設置到對象的實例

看看我的代碼

if (ViewState["Edit"].ToString() == "new") { 
} 
else { 
     row = _section.GetBannerEntry(ViewState["Edit"].ToString()); 
} 

我得到的這條線上的錯誤if (ViewState["Edit"].ToString() == "new")我用if (ViewState["Edit"] != null && ViewState["Edit"].ToString() == "new")替換它的工作原理。

現在我在這裏得到同樣的錯誤在else row = _section.GetBannerEntry(ViewState["Edit"].ToString());

請幫助

+1

問什麼了有效的是同樣的問題,一遍又一遍不良好的堆棧溢出禮儀並吸引不必要的標誌注意。你已經被告知了好幾次'_section'還沒有被其他用戶的答案初始化。這應該足以說明你的代碼失敗的原因了嗎?你也沒有提供任何解釋'_section'如何被初始化(如果有的話)的代碼,哪一個也沒有幫助。謝謝。 – Kev 2011-06-02 12:34:53

回答

0

好,無論是的ViewState爲空或的ViewState [ 「編輯」]是返回空...

0
if (ViewState["Edit"] != null && ViewState["Edit"].ToString() == "new") { 

或者如果視圖狀態中的內容是字符串,則應該可以工作:

if ((string)ViewState["Edit"] == "new") { 
2

您的視圖狀態是空 檢查

if(ViewState["Edit"]!= null) 
{ 
if (ViewState["Edit"].ToString() == "new") 
} 
1

如果ViewState["Edit"]尚未設置,.ToString()會拋出異常。

嘗試其中之一:

  • if (ViewState["Edit"]!= null && ViewState["Edit"].ToString() == "new") //最好的一個
  • if (ViewState["Edit"] + "" == "new")
0

嘗試

protected void btnSaveDetails_Click(object sender, EventArgs e) 
{   
DataRow row = null;   
if (ViewState["Edit"] != null && ViewState["Edit"].ToString() == "new") 
{ 
} 
} 
+1

將您認爲正確的答案標記爲已接受。 – 2011-06-02 10:57:41

相關問題