Avatar billede chrede Nybegynder
09. juli 2004 - 09:48 Der er 6 kommentarer og
2 løsninger

Sende parametre fra side til side

Hej...

Hvordan sender jeg en parametre fra en side, med til en anden side. og hvordan får jeg fat i den på den anden side?

/Chrede
Avatar billede nielsbrinch Nybegynder
09. juli 2004 - 09:54 #1
Jeg ved ikke hvad du mener med parametre og "få fat i". Men der er to måder du kan transportere data fra én side til en anden.

Med en form, både POST og GET.

GET giver parametre i QueryString, såsom andenside.aspx?param1=1234&param2=5678
Så kan du hente dem ud med Request.QueryString["param1"];

ved POST kræver det at parametrene er som <input type="hidden" name="param1" value="1243> og så kan de hentes ud med Request.Form["param1"]

I Session. Du gemmer værdien sådan:
Session["param1"] = 1234;
og henter den ud med
string param1 = Session["param1"];
Avatar billede knowit-mmp Nybegynder
09. juli 2004 - 10:05 #2
Inden du skifter side, kan du gemme dine værdier i session-variabler :

SESSION("VARIABEL_NAME")=[Din Værdi]

Når du så indlæser den nye side kan du hente dem igen med

[Din værdi]=SESSION("VARIABEL_NAME")


Drejer det sig im mange Værdier kan du med fordel lave en component, der kan holde dine værdier :

Sub lnkNewPageButton_Click()
Dim myComponent as new Component <--- Denne skal du selv programmere.

    Mycomponent.Variabel1=[Din værdi]
    .
    .
    .
    .
    SESSION("MIN_COMPONENT")=myComponent

    reponse.redirect("newpage.aspx")

end sub

Derefter kan du i Page_Load() indhente denne Værdi i den nye sides Component-objekt og hente værdierne derfra:

Sub Page_Load()
Dim myComponent as new Component <---- Den samme som tidligere
 
    MyComponent=SESSION("MIN_COMPONENT")

    MinVærdi=MyCOmponent.Værdi1
    .
    .
    .
    .


End Sub


En anden mulighed er at gemme dine værdier i Url'en :

response.redirect( "MyPage.aspx?MinVærdi1=Værdi1&MinVærdi2=Værdi2.....")

Disse værdier kan så hentes med

MinVærdi=request("MinVærdi1")
MinVærdi2=request("MinVærdi2")
Avatar billede nielsbrinch Nybegynder
09. juli 2004 - 10:10 #3
Ja, jeg er meget enig med knowit-mmp - det kan bestemt betale sig at gemme et objekt i sin Session i stedet for simple værdier.
Avatar billede chrede Nybegynder
09. juli 2004 - 10:10 #4
hvad er fordel ulemper ved brug af URL og Session variabler? det vil blive en af de to muligheder jeg vil anvende.. er URL ikke mere sårbar? jeg tænker på at den kan man jo let modde... og derfor skal jeg kode en sikkerhed for at brugeren ikke skriver noget i den han ikke må... værdien af param. skal nemlig bruges i DB sammenhæng
Avatar billede nielsbrinch Nybegynder
09. juli 2004 - 10:12 #5
Session er bedst - netop også pga. muligheden for at lægge et objekt i Session. Det kan du ikke med URL-variabler.
Avatar billede chrede Nybegynder
09. juli 2004 - 10:15 #6
Ok, tak for hjælpen :-)
Avatar billede knowit-mmp Nybegynder
09. juli 2004 - 10:20 #7
URL vil jo fremkomme i klartekst og kan derfor læses af alle, men mindre du krypterer værdierne.

ASP.NET byder på forskellige metoder til kryptering af data, og de tilsvarende dekryteringer.

Jeg ville klart foretrække Session-variblerne, specielt fordi det er DB data der skal overføres, det er ikke så nemme at få fat i, de de aldrig forlader serveren og kan derfor ikke moddes....

Men metoderne til at overføre parametre kan diskuteres i lang tid, der findes nok llige så mange måder at gøre det på, som der findes web-udviklere...
Det er et spørgsmål om temperament, tror jeg.
Avatar billede chrede Nybegynder
09. juli 2004 - 10:39 #8
ok, tak
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester