Toon posts:

Variabele in Sessie raakt data kwijt

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een probleem met het bewaren van data.

Ik plaats een ArrayList genaamd 'CurrentData' in de sessie.
Maar zodra ik de huidige arraylist ga opschonen, wordt de arraylist in de sessie ook gelijk opgeschoond. Dat is niet wat ik wil.

C#:
1
2
3
Session["HuidigeData"] = CurrentData;

CurrentData.Clear();


Ik wil dus dat de HuidigeData in de sessie bewaard blijft na CurrentData.Clear();. Maar ik weet niet hoe ik dat voor elkaar moet krijgen.

Iemand een idee?

Verwijderd

geef je geen reference ipv dat je de waarde kopieert?

Verwijderd

Topicstarter
Verwijderd schreef op dinsdag 07 november 2006 @ 18:25:
geef je geen reference ipv dat je de waarde kopieert?
Het lijkt er op dat er een reference in de sessie wordt gestopt.

Maar hoe stop ik dan alleen de waarden in de sessie?

  • mithras
  • Registratie: Maart 2003
  • Niet online
Je maakt niet gebruik van de global $_SESSION. Je scriptje zou dit moeten zijn:
[php]$_SESSION['huidigeData'] = CurrentData;
CurrentData.Clear();[/]Verder moet dan ook session_start() als bovenste regel in je script zetten.

Waarom zie ik niet dat dit C# is |:(

[ Voor 8% gewijzigd door mithras op 07-11-2006 18:40 ]


Verwijderd

Verwijderd schreef op dinsdag 07 november 2006 @ 18:32:
[...]


Het lijkt er op dat er een reference in de sessie wordt gestopt.

Maar hoe stop ik dan alleen de waarden in de sessie?
even snel op 'copy variable' gezocht in de MS Visual C# Studio, en daar kreeg ik deze url.. komt gewoon neer op .Copy() achter je table zetten :)
dus:
C#:
1
2
3
Session["HuidigeData"] = CurrentData.Copy(); 

CurrentData.Clear();

[ Voor 9% gewijzigd door Verwijderd op 07-11-2006 18:43 ]


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 18:39

gorgi_19

Kruimeltjes zijn weer op :9

Verwijderd schreef op dinsdag 07 november 2006 @ 18:42:
[...]

even snel op 'copy variable' gezocht in de MS Visual C# Studio, en daar kreeg ik deze url.. komt gewoon neer op .Copy() achter je table zetten :)
dus:
C#:
1
2
3
Session["HuidigeData"] = CurrentData.Copy(); 

CurrentData.Clear();
Verwijderd schreef op dinsdag 07 november 2006 @ 18:23:
Ik plaats een ArrayList genaamd 'CurrentData' in de sessie.
Copy gaat dus niet werken :+

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
gorgi_19 schreef op dinsdag 07 november 2006 @ 18:57:
[...]


[...]

Copy gaat dus niet werken :+
CopyTo kan gebruikt worden bij een ArrayList. Maar die kopieert het naar een Array to. Vaag dat dat zo geimplementeerd is.

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Je kan toch gewoon een nieuwe ArrayList creeren!
C#:
1
Session[ "Blaat" ] = new ArrayList( currentArrayList );

Op die manier wordt er een nieuwe ArrayList gemaakt met dezelfde elementen.

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 18:39

gorgi_19

Kruimeltjes zijn weer op :9

Verwijderd schreef op dinsdag 07 november 2006 @ 19:09:
[...]


CopyTo kan gebruikt worden bij een ArrayList. Maar die kopieert het naar een Array to. Vaag dat dat zo geimplementeerd is.
Dan moet je hem Clonen, als je het zo wil oplossen :) Afaik implementeert een Arraylist ICloneable :)

[ Voor 7% gewijzigd door gorgi_19 op 07-11-2006 19:21 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo

Pagina: 1