/ 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
Ingen parenteser?
Fra : Thomas Voller


Dato : 22-02-04 21:40

Hej ASP-eksperter.




Jeg har lavet en ganske lille fil, som jeg gerne vil inkludere på alle sider
i min applikation.

Filen ser ud som følger:
<%
Response.AddHeader("pragma", "no-cache")
Response.AddHeader("cache-control", "no-cache")
Response.ExpiresAbsolute = #1990-01-01#
%>

Der er lidt mere indhold i filen, der undersøger om visse Session-variable
er oprettet, men det er ikke så relevant. Vi har altså en lille fil, der
skulle sørge for at filerne fra min applikation ikke bliver lagt i
slutbrugerens cache. Det virker bare ikke. Forsøger jeg at inkludere
ovenstående fil på en side på denne måde:

<!--#include file="AdminIncludedFiles/CheckLogin.asp" -->

Eller:

<% Server.Execute("AdminIncludedFiles/CheckLogin.asp") %>

Så får jeg:

Der kan ikke bruges parenteser ved kald af en Sub
CheckLogin.asp, line 2, column 40
Response.AddHeader("pragma", "no-cache")

Hvad gør jeg så? Så vidt jeg ved, så foreskriver syntaksen ved
Response.AddHeader() brug af parenteser? Jeg finder det også underligt, at
problemet skulle være fordi jeg kalder en Sub. Det gør jeg jo ikke. Der er
slet ingen Sub på siden eller inkluderingsfilen.

Kan nogen venligst vejlede?




Mvh. Thomas.




 
 
pepss (22-02-2004)
Kommentar
Fra : pepss


Dato : 22-02-04 22:03


"Thomas Voller" skrev
> Der kan ikke bruges parenteser ved kald af en Sub
> CheckLogin.asp, line 2, column 40
> Response.AddHeader("pragma", "no-cache")
>
> Hvad gør jeg så? Så vidt jeg ved, så foreskriver syntaksen ved
> Response.AddHeader() brug af parenteser? Jeg finder det også underligt, at
> problemet skulle være fordi jeg kalder en Sub. Det gør jeg jo ikke. Der er
> slet ingen Sub på siden eller inkluderingsfilen.

jeg ved ikke om det kan ha nogen hjælp men jeg har prøvet at få den samme
fejl ved en function som skulle udskrive noget fordi jeg ikke havde glemt
Response.Write først..

håber du kan bruge det elles bare glem det

--
Pepss
Den ordblinde der prøver at blive webdesigner
Fræk frækkere www.cafe-flirt.dk
De frække noveller www.novelle.cafe-flirt.dk



Jens Gyldenkærne Cla~ (22-02-2004)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 22-02-04 22:39

Thomas Voller skrev:

> Der kan ikke bruges parenteser ved kald af en Sub
> CheckLogin.asp, line 2, column 40
> Response.AddHeader("pragma", "no-cache")
>
> Hvad gør jeg så?

Har du prøvet at fjerne parenteserne?

> Så vidt jeg ved, så foreskriver syntaksen ved
> Response.AddHeader() brug af parenteser?

Noget tyder på at det ikke er tilfældet.

> Jeg finder det også underligt, at problemet skulle være fordi jeg
> kalder en Sub.

Mon ikke det er .AddHeader der opfattes som en procedure (sub).
--
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

Thomas Voller (22-02-2004)
Kommentar
Fra : Thomas Voller


Dato : 22-02-04 23:07

"Jens Gyldenkærne Clausen" <jens@gyros.invalid> skrev
> Har du prøvet at fjerne parenteserne?

Ja, jeg har prøvet, og uden parenteser virker det.
Men det undrede mig med de parenteser, så jeg slog op i ASP 3.0 Programmer's
Reference fra Wrox. Der bliver syntaksen også angivet med parenteser. Både
DreamWeaver, Visual Studio .NET og Wrox er enige om parenteser, men det er
selve ASP-fortolkeren uenig i. Underligt.

Jeg fjerner nu parenteserne og lader det ligge.



Mvh. Thomas.



Torben Brandt (23-02-2004)
Kommentar
Fra : Torben Brandt


Dato : 23-02-04 00:59

Thomas Voller skrev:
> Men det undrede mig med de parenteser, så jeg slog op i ASP 3.0 Programmer's
> Reference fra Wrox. Der bliver syntaksen også angivet med parenteser. Både
> DreamWeaver, Visual Studio .NET og Wrox er enige om parenteser, men det er
> selve ASP-fortolkeren uenig i. Underligt.
>
> Jeg fjerner nu parenteserne og lader det ligge.

Men hvis du alligevel ikke kan glemme det helt, så byder jeg lige ind :)

Hvis man slår op i ASP-dokumentationen fra MS:
<URL:http://msdn.microsoft.com/library/en-us/iissdk/iis/ref_vbom_resomah.asp>
Så står syntaksen øverst til:
AddHeader(
HeaderName,
HeaderValue
)

Men man skal huske at ASP bare er et framework (som .Net) hvor man kan
benytte flere forskellige sprog, og syntaksen er ikke den samme for de
forskellige sprog.
Derfor er det eneste man kan læse ud fra ovenstående at funktionen
hedder AddHeader, tager to argumenter og rækkefølgen på argumenterne.

Ser man på eksemplerne på samme side, så er de skrevet uden parenteser.
Eksemplerne er, som man nemt genkender, i VBS selv om det ikke står
nogle steder.

Forskellen på Subs og Functions (i hvert fald den til dagligdagsbrug) er
at Subs ikke returnerer noget, mens Functions gør.
Da AddHeader ikke returnerer noget, så er det oplagt at den er
implementeret som en Sub i VBS.
I JScript er der svjv kun functions og derfor opstår den problematik
ikke der.

Da problemet med om man skal skrive parenteser eller ikke kun vedrører
VBS-implementationen, så er det vel naturligt nok at den information
ikke står i beskrivelsen af ASP-frameworket - selv om man kunne ønske
sig den information et eller andet sted...


PS Det skal siges at jeg ikke har mulighed for at slå op de steder du
nævner, så jeg kender ikke den sammenhæng de giver.

mvh Torben


Thomas Voller (23-02-2004)
Kommentar
Fra : Thomas Voller


Dato : 23-02-04 10:39

"Torben Brandt" <name@domain.invalid> skrev
> Thomas Voller skrev:
> > Men det undrede mig med de parenteser, så jeg slog op i ASP 3.0
Programmer's
> > Reference fra Wrox. Der bliver syntaksen også angivet med parenteser.
Både
> > DreamWeaver, Visual Studio .NET og Wrox er enige om parenteser, men det
er
> > selve ASP-fortolkeren uenig i. Underligt.
>
> Men hvis du alligevel ikke kan glemme det helt, så byder jeg lige ind :)



Jeg siger tak for udredningen.



Mvh. Thomas.



Jørn Andersen (23-02-2004)
Kommentar
Fra : Jørn Andersen


Dato : 23-02-04 06:56

On Sun, 22 Feb 2004 21:40:19 +0100, "Thomas Voller"
<voller@nospam-voller.dk> wrote:

> Response.ExpiresAbsolute = #1990-01-01#
>
>Vi har altså en lille fil, der
>skulle sørge for at filerne fra min applikation ikke bliver lagt i
>slutbrugerens cache.

Når du nu har fået løst det problem, du spurgte om, så kunne jeg
forestille mig, at ovenstående måske også kunne give problemer.

Jeg ville bruge en rigtig dato-værdi - fx:
Response.ExpiresAbsolute = DateAdd("yyyy", -10, Now())

Good luck!

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

Thomas Voller (23-02-2004)
Kommentar
Fra : Thomas Voller


Dato : 23-02-04 10:39

"Jørn Andersen" <jorn@jorna.dk> skrev
> On Sun, 22 Feb 2004 21:40:19 +0100, "Thomas Voller"
> <voller@nospam-voller.dk> wrote:
>
> > Response.ExpiresAbsolute = #1990-01-01#
> >
> >Vi har altså en lille fil, der
> >skulle sørge for at filerne fra min applikation ikke bliver lagt i
> >slutbrugerens cache.
>
> Når du nu har fået løst det problem, du spurgte om, så kunne jeg
> forestille mig, at ovenstående måske også kunne give problemer.
>
> Jeg ville bruge en rigtig dato-værdi - fx:
> Response.ExpiresAbsolute = DateAdd("yyyy", -10, Now())


Tjah, det kunne jeg også have valgt. Det virker nu ganske godt som det er,
men jeg kan da godt se det fremstår lidt korrekt/proffesionelt med DateAdd.



Mvh. Thomas.



Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408929
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste