你调用的对象是空的。得到这个错误

时间:2013-11-27 06:50:57

标签: c# asp.net .net combobox

我正在开发一个ASP .Net C#项目,我是网络编程的初学者。我在运行时得到以下错误:

  

对象引用未设置为对象的实例。

以下是我的代码:

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

cmbThemesComboBox

提前致谢。

5 个答案:

答案 0 :(得分:7)

更改

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

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

答案 1 :(得分:1)

检查变量的值,variable txtUsernamecmbThemes之一是NULL

答案 2 :(得分:0)

将组合框的默认selectedindex设置为-1以外的值,或者在检查文本之前始终检查SelectedItem == null。

答案 3 :(得分:0)

你的组合框有任何物品吗?在尝试设置或获取任何属性之前,请确保它至少有一个项目。

答案 4 :(得分: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
      }
   }
}