2011-03-04 68 views
2

當我嘗試使用「VIEW IN BROWSER」選項從VS 2008中的IDE打開頁面時,我收到"對象引用未設置爲對象實例"錯誤。未將對象引用設置爲對象的實例

的一段代碼我得到這個錯誤:

XResult = Request.QueryString["res"];  
TextBox1.Text = XResult.ToString(); 

回答

6

這裏的問題是XResultnull當你打電話給ToString它的代碼產生一個NullReferenceException。你需要做一個明確的null檢查

TextBox1.Text = XResult == null ? String.empty : XResult.ToString(); 
1

你的代碼是期待一個查詢字符串http://localhost:xxxx/yourapp?res=yourval。它不在提供給瀏覽器的地址中。在項目屬性的網絡部分中,您可以提供適當的URL。當然,支持你的代碼是可取的。

2

這個錯誤可能是因爲REquest.QueryString方法沒有在url中找到「res」的值,所以當你試圖對一個null對象進行「toString」來完成那個exeption。

0

XResult已經是一個字符串,所以調用ToString是沒有必要的。這也應該解決你的問題。

+1

。字符串上的ToString()不會引發錯誤。問題是XResult爲空,因爲它在查詢字符串中找不到「res」。 – 2011-03-04 19:40:54

+1

它已經是一個字符串,對'.ToString()'的調用不是必需的,但它不能解決你的問題。 – Chev 2011-03-04 19:41:56

+1

它將解決null引用異常,因爲調用null上的.ToString()將拋出異常。 – 2011-03-04 19:44:44

4

如果你要打開的頁面沒有「資源」查詢字符串,那麼你需要包括零的支票,你用它做任何事情之前,考慮到這一點。

if (Request.QueryString["res"] != null) 
{ 
    XResult = Request.QueryString["res"]; 
    TextBox1.Text = XResult.ToString(); 
} 
0

這裏的問題是,XResult是空的,當你在調用它ToString 代碼產生NullReferenceException。您需要通過執行明確的空檢查來對此進行解釋:

if (Request.QueryString["res"] != null) 
{ 
    XResult = Request.QueryString["res"]; 
    TextBox1.Text = XResult.ToString(); 
} 
相關問題