Results 1 to 6 of 6

Thread: Hoe kan ik een globale variabele maken mbv viewstate in ASP.NET?

  1. #1

    Hoe kan ik een globale variabele maken mbv viewstate in ASP.NET?

    Wanneer je in ASP.NET bezig bent kun je geen gebruik maken van globale variabelen zoals ik gewend was in Delphi4.
    Nu schijnt er wel een viewstate te zijn waarin je dingen/variabelen kan opslaan om later te gebruiken...........

    Klopt dat en weten jullie hoe dit in zijn werk gaat? Dus hoe kan ik die vullen en uitlezen?

    Alvast maar weer bedankt he!!!!!!!! ;-)

  2. #2
    Ik heb het al gevonden :-)

    Je moet eigenlijk heel simpel:
    Iets toevoegen : ViewState.Add('RowFilter', Label_RowFilter.Text);
    Iets uitlezen : Label_RowFilter.Text := ViewState.Item['RowFilter'].ToString;

  3. #3
    Ter info:

    Viewstate wordt ook door de controls zelf gebruikt. Als je bijvoorbeeld in eeen EditBox al iets hebt ingevuld zorgt viewstate ervoor dat deze tekst bewaard blijft als je het formulier post. Zie ook bijvoorbeeld dit artikel.
    Marcel

  4. #4
    Bob Swart drbob42's Avatar
    Join Date
    May 2004
    Location
    Helmond Brandevoort
    Posts
    514
    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).
    Last edited by Marcel; 13-May-04 at 22:57.
    Groetjes,
    Bob Swart

  5. #5
    Marcel

  6. #6
    Bedankt voor de info Bob, ik begin er GELUKKIG steeds meer van te begrijpen......

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. CTTM 2003
    By Marcel in forum Koffiehoek
    Replies: 26
    Last Post: 02-Jun-03, 13:02

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •