2013-11-27 39 views
0

我正在一個ASP .Net C#項目,我是一個初學者在網絡編程。在運行時出現以下錯誤:未將對象引用設置爲對象的實例。得到這個錯誤

未將對象引用設置爲對象的實例。

下面是我的代碼:

protected void Page_Load(object sender, EventArgs e) 
{ 
    txtUsername.Focus(); 
    if (cmbThemes.SelectedItem.Text=="Red") 
    { 
     pnlSignin.Border.BorderColor = Color.Orange; 
    } 
} 

cmbThemesComboBox

在此先感謝。

+1

有沒有項目選擇時,'cmbThemes.SelectedItem'可以'null'並導致空異常 –

+0

哪條線拋出一個異常?你確定'Page_Load()'有'cmbThemes.SelectedItem'嗎? – Enam

+1

在第一行使用斷點。然後一步一步進行,直到異常提出。您可以隨時使用您的即時窗口(在Visual Studio中)直接執行命令並找出哪個變量爲空。我想'cmbThemes'沒有選定的項目... –

回答

1

檢查你的變量的值,一個你variabletxtUsernamecmbThemesNULL

7

變化

if (cmbThemes.SelectedItem.Text=="Red") 

if (cmbThemes.SelectedItem !=null &&cmbThemes.SelectedItem.Text=="Red") 
{} 
0

即可以將組合框的默認的selectedIndex的東西除-1之外或在檢查文本之前總是檢查它SelectedItem == null。

0

您的組合框還有任何項目嗎?在嘗試設置或獲取其任何屬性之前,請確保它至少有一個項目。

0

在檢查條件之前,您必須首先檢查您的組合框是否必須爲空。 你可以做兩種:

protected void Page_Load(object sender, EventArgs e) 
{ 
    txtUsername.Focus(); 
    if (cmbThemes.SelectedItem!=null) 
    { 
     if (cmbThemes.SelectedItem.Text=="Red") 
     { 
     //OtherOperations 
     } 
    } 
} 

protected void Page_Load(object sender, EventArgs e) 
{ 
    txtUsername.Focus(); 
    if (cmbThemes.SelectedIndex > -1) 
    { 
     if (cmbThemes.SelectedItem.Text=="Red") 
     { 
     //OtherOperations 
     } 
    } 
} 
相關問題