/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Varaible med i Server.Execute()
Fra : Kasper Vork Steffens~


Dato : 27-09-06 12:05

Hej NG,

Ved nogle af jer hvordan jeg får en variabel fra query-string med
over i en anden asp-fil, når jeg bruger Server.Execute() ?

Eksempel:
<%@ LANGUAGE="JSCRIPT"%>
<html>
<head>
<% var subid = Request.Querystring("sid")+""; %>
</head>
<body>
<%Server.Execute(asp2.asp)%>             
</body>
</html>

variablen 'subid' vil jeg gerne anvende i asp-filen 'asp2.asp'.
Så vidt jeg forstår reference-dokumentationen på msdn.com, skulle
det kunne lade sig gøre, men jeg kan ikke få det til at virke.
Har også prøvet med Server.Transfer. Det virkede heller ikke.

mvh Kasper

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Jørn Andersen (27-09-2006)
Kommentar
Fra : Jørn Andersen


Dato : 27-09-06 13:26

On 27 Sep 2006 11:04:38 GMT, Kasper Vork Steffensen <kasper@walkon.dk>
wrote:

>Ved nogle af jer hvordan jeg får en variabel fra query-string med
>over i en anden asp-fil, når jeg bruger Server.Execute() ?
>
>Eksempel:
><%@ LANGUAGE="JSCRIPT"%>
><html>
><head>
><% var subid = Request.Querystring("sid")+""; %>
></head>
><body>
><%Server.Execute(asp2.asp)%>             
></body>
></html>
>
>variablen 'subid' vil jeg gerne anvende i asp-filen 'asp2.asp'.

Det tror jeg ikke du kan. Det ville i hvert fald ikke være særligt
logisk, da Server.Execute (eller .Transfer) jo ikke laver et nyt
Request af siden, men blot afvikler noget kode på serveren, som godt
nok ligger på en anden side, end den, du kalder kommandoen fra. Men
altså ikke et nyt Request.

Så jeg tror du skal overføre din værdi på en anden måde.

>Så vidt jeg forstår reference-dokumentationen på msdn.com, skulle
>det kunne lade sig gøre, men jeg kan ikke få det til at virke.

Det kan jeg nu ikke finde, men der er en indirekte indikation af, at
det ikke er tilfældet - på siden:
<url:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/iissdk/html/db562da1-d49d-4fe5-9747-64ef530de23f.asp>
står der bl.a.:

The Server.Execute method returns the ASP 0173 error, "Invalid Path
Character", if the Path parameter contains any of the following
characters:
Asterisk (*)
Question mark (?)
osv.

Og eftersom en QueryString jo indeholder "?", så ...



Mvh. Jørn

--
Jørn Andersen,
Brønshøj

Kasper Vork Steffens~ (27-09-2006)
Kommentar
Fra : Kasper Vork Steffens~


Dato : 27-09-06 16:41

>Jørn Andersen wrote in dk.edb.internet.webdesign.serverside.asp:
>
> Det kan jeg nu ikke finde, men der er en indirekte indikation af, at
> det ikke er tilfældet - på siden:

Jeg hæftede mig ved denne tekst fra msdn.com:

The following collections and properties are available to the executed ASP page:

Application variables, even if they are set in the calling page.

Session properties, even if they are set in the calling page.

Server variables and properties, even if they are set in the calling page.

Request collections and properties, even if they are set in the calling page. This includes Form and QueryString data
passed to the calling page.

Response collections and properties. The executed .asp file may modify HTTP headers. However, as with any .asp file, if
the executed .asp file attempts to modify HTTP headers after it sends a response to the client, it generates an error.



--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Jørn Andersen (27-09-2006)
Kommentar
Fra : Jørn Andersen


Dato : 27-09-06 17:36

On 27 Sep 2006 15:41:11 GMT, Kasper Vork Steffensen <kasper@walkon.dk>
wrote:

>>Jørn Andersen wrote in dk.edb.internet.webdesign.serverside.asp:
>>
>> Det kan jeg nu ikke finde, men der er en indirekte indikation af, at
>> det ikke er tilfældet - på siden:
>
>Jeg hæftede mig ved denne tekst fra msdn.com:
>
>The following collections and properties are available to the executed ASP page:
<snip>
>Request collections and properties, even if they are set in the calling page. This includes Form and QueryString data
>passed to the calling page.

Det er rigtigt, men det betyder kun, at du kan *hente* fx en:
myVar = Request.QueryString("navn") '(VBScript)
- men det betyder ikke dermed, at du kan videresende den.

Hvis du checker, vil su sikkert se, at dit script ikke fejler i den
linie, hvor du *henter* QueryString'en, men derimod, når du forsøge at
Server.Execute den med et "?" i.

Men du kan bruge variablen til alle mulige andre ting.


Mvh. Jørn

--
Jørn Andersen,
Brønshøj

Kasper Vork Steffens~ (27-09-2006)
Kommentar
Fra : Kasper Vork Steffens~


Dato : 27-09-06 19:55

>Jørn Andersen wrote in dk.edb.internet.webdesign.serverside.asp:
>
> Hvis du checker, vil su sikkert se, at dit script ikke fejler i den
> linie, hvor du *henter* QueryString'en, men derimod, når du forsøge at
> Server.Execute den med et "?" i.
>

Du har helt ret. Nu har jeg løst problemet ved i første asp-fil at sætte en sessions-variabel, og så bruge den i anden
asp-fil. Det virker.



--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Jørn Andersen (27-09-2006)
Kommentar
Fra : Jørn Andersen


Dato : 27-09-06 21:21

On 27 Sep 2006 18:54:45 GMT, Kasper Vork Steffensen <kasper@walkon.dk>
wrote:

>Nu har jeg løst problemet ved i første asp-fil at sætte en
>sessions-variabel, og så bruge den i anden asp-fil. Det virker.

Jeg har ikke brugt Server.Execute ret meget, så jeg sad lige og legede
lidt mere, og så gik der en prås op for mig, som du måske kan bruge:

Hvis du kalde din "side1.asp" med:
... side1.asp?sid=hest

- og du på side 1 bruger:
Server.Execute("side2.asp")

- så kan du hente værdien af "sid" på side2.asp på samme måde, som du
ville gøre på side1.asp, altså med:
myVar = Request.Querystring("sid")

(alt i VBScript - sorry!)

Det må være det de mener med, at objekterne er til rådighed.
Hvis du kan bruge det, så slipper du for at overføre med en
Session-variabel.

Kan det bruges?

Good luck!

--
Jørn Andersen,
Brønshøj

Jens Gyldenkærne Cla~ (27-09-2006)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 27-09-06 13:58

Kasper Vork Steffensen skrev:

> Ved nogle af jer hvordan jeg får en variabel fra query-string med
> over i en anden asp-fil, når jeg bruger Server.Execute() ?

Du kan vel bare sende den videre med querystring:

> <%@ LANGUAGE="JSCRIPT"%>
> <html>
> <head>
<%
var subid = Request.Querystring("sid")+"";
var newURL = "asp2.asp?sid=" + subid;
%>
</head>
<body>
<%Server.Execute(newURL)%>
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Jørn Andersen (27-09-2006)
Kommentar
Fra : Jørn Andersen


Dato : 27-09-06 15:42

On Wed, 27 Sep 2006 14:57:52 +0200, Jens Gyldenkærne Clausen
<jens@gyros.invalid> wrote:

>Kasper Vork Steffensen skrev:
>
>> Ved nogle af jer hvordan jeg får en variabel fra query-string med
>> over i en anden asp-fil, når jeg bruger Server.Execute() ?
>
>Du kan vel bare sende den videre med querystring:
>
>> <%@ LANGUAGE="JSCRIPT"%>
>> <html>
>> <head>
><%
>var subid = Request.Querystring("sid")+"";
>var newURL = "asp2.asp?sid=" + subid;
>%>
></head>
><body>
><%Server.Execute(newURL)%>

Nu er jeg ikke så stiv i JScript, men hvis jeg med VBScript laver en
fil med:
<%
Response.Write "Hej"
strUrl = "se2.asp?navn=Jorn"
Server.Execute(strUrl) ' Linie 4
Response.Write "<br>Test OK"
%>
- får jeg:
Server object, ASP 0231 (0x80004005)
Invalid URL form or fully-qualified absolute URL was used. Use
relative URLs.
/marxisme.dk/test/se.asp, line 4

Hvis der bare står:
strUrl = "se2.asp"
- går det helt fint.

Så jeg tror ikke på, at det kan lade sig gøre.


Mvh. Jørn

--
Jørn Andersen,
Brønshøj

Jens Gyldenkærne Cla~ (28-09-2006)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 28-09-06 11:33

Jørn Andersen skrev:

> Så jeg tror ikke på, at det kan lade sig gøre.

Du har helt ret - man kan ikke angive en querystring i kaldet til
server.execute, men man kan (som dit andet indlæg også viser)
aflæse den "ydre" sides querystring fra den "indre" side.
--
Bolig søges. Andel eller leje i Emdrup, Nordvest, Nørrebro, Søborg
eller Brønshøj, max 6000 pr. måned.
Kontakt pr. mail - nospam(at)gyros.dk
Jens Gyldenkærne Clausen

Søg
Reklame
Statistik
Spørgsmål : 177547
Tips : 31968
Nyheder : 719565
Indlæg : 6408797
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste