mam sterownik logiczny, którego wyszukuje: wartość sesjiMVC 3 Session.Abandon() wywołane przed ustawieniem TempData [ „myvalue”] = „bla” powoduje kolejną regulatorowi TempData NULL
//checks value null etc.. for existing record in session memory.
Session["certnum"]
Następnie w sterowniku ja zdecydowaliśmy się na stan, w którym:
//is called to initiate a New Record that will be created.
Session.Abandon();
jednak w kodowaniu procesowego jest Session.Abandon(); pojawia się przed utworzeniem TempData ["myobject"] = "foo", a po przejściu przez kod TempData w bezpośrednim oknie pokazuje moją wartość i wszystko wydaje się dobre. Następnie po przekierować do innego kontrolera:
return RedirectToAction("ChildInfo", "NewRecord");
Ta metoda ChildInfo nie ma już wartość TempData ... Teraz to jest null. Metoda Odejścia z Sezonu została wywołana przed ustaleniem wartości TempData, nie jest pewna, czy jest to błąd z Sesjami MVC, ale dla mnie to nie ma sensu. Jeśli tworzę nową sesję wagi TempData, to powinna ona być kontynuowana do następnego kontrolera. Jeśli usunę metodę Session.Abandon(), wartość TempData będzie działać tak, jak poprzednio.
Ważne jest to, że TempData opiera się na sesji. Sesja zniknęła, a TempData zniknęła. –
@Adam Tak Zdaję sobie sprawę, że jednak wywołuję Session.Abandon() przed utworzeniem wartości TempData, jestem w tej samej metody działania kontrolera, ale nadal wydaje mi się to szalone. –
dlaczego byłby szalony? resetujesz obiekt wymagany do tempdata. To jest tak, jakby powiedzieć "Usuwam wszystkie wiersze w tabeli, ale nie rozumiem, dlaczego na następnej prośbie wiersz, którego mam zamiar zażądać, nie istnieje?" :) –