2012-07-20 99 views
0

当我尝试删除列表中的项目时,我将“对象引用未设置为对象的实例”。下面是代码:我得到NULL Refence异常

protected void btnIzvadi_Click(object sender, EventArgs e) 
{ 
    if (Session["kosnice"] == null) 
    { 
     lblError.Text = "Вашата купувачка кошничка е празна"; 
    } 
    else 
    { 
     try 
     { 
      List<string> kosnicka = new List<string>(); 
      kosnicka = (List<string>)Session["kosnice"]; 
      for (int i = 0; i < lstKosnicka.Items.Count; i++) 
      { 
       kosnicka.Add(lstKosnicka.Items[i].Text); 
      } 
      string pom = lstKosnicka.SelectedItem.Text; 
      kosnicka.Remove(pom); 
      for (int i = 0; i < kosnicka.Count; i++) 
      { 
       lblError.Text = " " + kosnicka[i]; 
      } 
      Session["kosnice"] = kosnicka; 
      lstKosnicka.DataSource = kosnicka; 
      lstKosnicka.DataBind(); 
     } 
     catch (NullReferenceException err) 
     { 
      lblError.Text = err.Message; 
     } 
    } 


} 

的列表形式,我得到的例外是不是空的,它已reqired有关btnIzvadi现场验证。

+0

这行是异常呢? – 2012-07-20 09:13:35

+0

请注意,try块的两个第一行应合并到列表 kosnicka =(List )Session [“kosnice”]; – chmike 2012-07-20 09:29:45

+0

这可能是导致问题的指令吗?会话[“kosnice”] = kosnicka;可能需要演员。 – chmike 2012-07-20 09:31:14

回答

0

而不是

string pom = lstKosnicka.SelectedItem.Text; 

试试这个:

string pom = lstKosnicka.Text;