Toon posts:

[ASP.Net] Variabelen doorgeven

Pagina: 1
Acties:

Verwijderd

Topicstarter
Als je een nieuwe pagina toont, dan wil je dit vaak doen op basis van informatie uit een ander scherm. Op welke manieren kan je ervoor zorgen dat data van het ene scherm ook beschikbaar is voor een volgend scherm?

Ik heb in ieder geval deze manier gevonden:

Application.Add(name as String, value as Object)

Hiermee maak je een soort globale variabele aan met de naam 'name' en de waarde 'value'.
Bijvoorbeeld:

Application.Add("PrimaryKey", 102851)

Vervolgens kan je de waarde weer opvragen met:

intPK = Application.Get("PrimaryKey")


Maar ja, eigenlijk zijn dit dus gewoon globale variabelen, en wat mij betreft niet zo erg netjes. Of doe ik te moeilijk?

Welke mogelijkheden zijn er nog meer voor het doorgeven van waardes in ASP.Net?

Groetjes,

IntroV

  • whoami
  • Registratie: December 2000
  • Laatst online: 10:21
Globale variablen zijn evil.
Staat er niets in uw boek/manual over het doorgeven van variablen?

https://fgheysels.github.io/


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 10:27

gorgi_19

Kruimeltjes zijn weer op :9

Afhankelijk van de scope kan je kijken naar Context-object (Gaat 1 request) of het Session-object (Gaat 1 session mee).
Eventueel kan je nog gebruik gaan maken van het caching object.
Het application-object gebruik ik alleen in mijn config.web, waarbij ik deze waarde read-only uitlees (zoals bijvoorbeeld de connectionstring van de database.

Maar was dit nergens anders te vinden?

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Je moet inderdaad of het Session object gebruiken of gewoon gebruik maken van cookies, of gewoon parameters meegeven met je querystring

“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.”


  • alley
  • Registratie: Mei 2002
  • Laatst online: 18-08 20:40

alley

ahuh

Ik weet niet precies wat je wilt doen... maar als het vanuit je codebehind doorspringen naar een volgende pagina is, kun je Context.Items icm Server.Transfer gebruiken:

code:
1
2
  Context.Items["var1"] = "waarde1";
  Server.Transfer("default.aspx");


Context.Items is request-afhankelijk en dus user-specifiek (APPLICATION NIET! dus die geld voor iedere user).

I am always doing that which I can not do, in order that I may learn how to do it. (Pablo Picasso)