NullReferenceExeption

0

Witam,
mam kod aplikacjo w ASP.NET :

w głównej klasie :
ArrayList kolekcjapytan = new ArrayList();

w zdarzeniu Page_load :
Application["kolekcjapytan"] = kolekcjapytan;
...

w zdarzeniu btn_click:

Label nowepytanielbl = new Label(); //utworzenie obiektu - etykiety tekstowej
nowepytanielbl.ID = "nowepytanielbl";

kolekcjapytan = (ArrayList)Application["kolekcjapytan"];
kolekcjapytan.Add(nowepytanielbl); // w tym miejscu debugger wyrzuca błąd : NullReferenceException
Application["kolekcjapytan"] = kolekcjapytan;

Podczas uruchomienia pojawia się błąd, nie można dodać etykiety do kolekcjipytan

Proszę o pomoc

0

Z tego co domniemam, to konwersja
kolekcjapytan = (ArrayList)Application["kolekcjapytan"];
nie działa (zwraca null), dlatego gdy później próbujesz dodawać Label do listy wyrzuca błąd bo nie ma listy. W debuggerze możesz sobie sprawdzić czy rzutowanie się udało.

0

Może zamiast do Application wrzuć do ViewState?

Jeszcze kilka mniej istotnych uwag:

  • Nie używaj ArrayList. Jest niewygodna i przestarzała. Lepiej używać List<T>.
  • Nie używaj literałów jak wpisujesz do Application,Session,ViewState, bo jak gdzieś machniesz literówkę, to potem błędu nie znajdziesz. Lepiej używać stałych

1 użytkowników online, w tym zalogowanych: 0, gości: 1