Hi Siep,
Behalve de ViewState, die eigenlijk bedoeld is voor de state van de view (de visuele controls op de web form), kun je ook gebruik maken van het Session object. Dat is makkelijker, en eigenlijk ook meer bedoeld voor wat jij wilt doen.
Je kan naam-waarde paren opslaan in de Session. Dus als je bijvoorbeeld een globale variabale "website" hebt, en die moet de waarde "www.drbob42.com" hebben, dan kun je dan als volgt opschrijven:
Code:
Session['website'] := 'www.drbob42.com';
Wat je in een Session stopt wordt allemaal (impliciet) tot een TObject gemaakt. Om het er weer uit te halen, zul je dus even expliciet naar een String terug moeten casten, als volgt:
Code:
TextBox1.Text := String(Session['website']);
Het is daarbij nog wel even van belang te kijken of de waarde van 'website' in Session wel al een waarde heeft (en niet nog nil is). Dus ik schrijf zelf vaak:
Code:
if Assigned(Session['website']) then
TextBox1.Text := String(Session['website']);
De Session is alleen zichtbaar binnen de sessie van de huidige gebruiker (= het huidige browser window). Dus niemand anders kan de velden zien en/of wijzigen. Als je dat wel wilt (dus delen van informatie), dan kun je het Application object gebruiken. Ook het Cache object is mogelijk, maar daar zijn weer wat meer bijzonderheden bij (zie de MSDN website voor meer achtergrond info daarover).
Bookmarks