Nej, det kan man ikke i ASP. #includerne bliver udført inden ASP-maskinen går i gang, og dermed kan man ikke bruger variabler og funktioner fra ASP til fil-navnet. (I PHP kan man naturligvis .... hehe)
i den seneste serviceudgave tillader man faktisk dette, jeg har dog endnu ikke testet det selv, men jeg vil da benytte dette spørgsmål til at få kigget på det og vende tilbage imorgen.........så må vi se om jeg været helt slævøjet da jeg læste det........
i IIS 5 kan man bruge Server.Execute, men som erikjacobsen rigtig siger så køres ASP'en først efter includerne. Og så lige den sædvanlige sammenligning med PHP :-]
>>lp: Jeg er ret overbevist om at man ikke kan sætte det op så man får udført ASP-kode før sin 'include', heller ikke i IIS 5.0 (er i hvert fald ikke stødt på noget i litteratur omkring IIS 5.0). Hvad man imidlertid kan gøre i IIS 5.0 er at bruge den nye execute-metode. Så i stedet for '<!-- #include virtual = "/includes/(VarInclude).inc" -->' kan man lave '<% Server.Execute VarInclude & ".asp" %>' Slutresultatet (dvs. det brugeren får at se) er det samme.
Jeg går ud fra at du bruger IIS 5.0 (dvs. at du kører windows 2000) siden at fejl-meddelsen ikke brokker sig over at kaldet ikke findes. Jeg er ikke sikker, men det kan muligvis tænkes, at siden skal have '.asp'-endelse for at det fungerer korrekt. Derudover lyder det efter filnavnet at dømme, som om du laver noget 'redirect' i din include-fil. Dette kan selvfølgelig kun lade sig gøre, hvis du ikke allerede har sendt html-headere afsted til browseren. Anyway, kunne det måske være en ide at se kildekode til din include-fil.
Under alle omstændigheder bør man faktisk altid bruge '.asp'-endelse på alle sine include-filer, medmindre der ikke er fortrolige data på siden. Dette skyldes at hvis folk kan gætte stien til ens include-filer, og man bruger '.inc'-endelser, så kan de faktisk se ens asp-kode! Derfor; brug altid '.asp'-endelser medmindre man blot definerer konstanter som det fx. er tilfældet med 'adovbs.inc', eller medmindre det er ren html.
Jeg kører Windows 2000 og IIS 5 - Jeg omdøbte include-filerne til ".asp" uden held.
Include filerne ingår i mit design. De indeholder selve brødteksten. Det skal bruges ASP i nogle af filerne til database-adgagng m.m., men alt redirect foregår inden jeg overhovedet når så langt som til include.
Altså.. jeg skal simpelt hen bruge funktionen til navigering på mit site.. include filerne er de forskellige sider, som skal kaldes med Server.Execute afhøngig af request.querystring("side").
Du spørger efter koden... Gerne, men jeg er ikke begyndt på include-siderne endu, så det hele er ret enkelt:
main.asp (include fil):
<P>Velkommen til min hjemmeside. Her kan du finde info de nyeste film.</P> <P>Tag et kig på mine sider, hvis du skal en tur i biffen.</P>
Kender I nogle URLs hvor Server.Execute beskrives nærmere?
Forresten tak for tippet om at kalde inlcude-filerne ".asp" - det giver jo også sig selv.. hvad tænker jeg på? ;o)
Synes godt om
Ny brugerNybegynder
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.