2012-07-20 97 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;