/ 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
muligt at bruge asp I ssi?
Fra : Henrik Hejbøl Jensen


Dato : 05-06-01 13:20

Hej. Jeg tror ikke at dette er helt off-topic så jeg prøver:

Hvis man vil inkludere en fil på en side kan man bruge:
<!--#Include File="filen.asp"-->
Men, hvis nu jeg gerne vil inkludere en fil og stien til denne fil står i en
variabel, hvordan gør jeg så? Jeg har prøvet noget ala dette men uden held
<%
Dim filnavn
filnavn = "filen.asp"
%>
<!--#Include File=<%="'" & filnavn & "'" %>-->
Men det virker ikke. Er der nogen der ved hvordan man gør?

--
Venlig Hilsen Henrik

http://www.geekcode.com
GIT/GMU$ d S: a--- C++ !U !P L !E W+++ N+ O-- K? w++++ O- M@
V? !PS !PE Y PGP t 5+ X++ R- tv+ b+ DI++ D+ G e- h! r++ y++




 
 
Jakob Andersen (05-06-2001)
Kommentar
Fra : Jakob Andersen


Dato : 05-06-01 13:23

"Henrik Hejbøl Jensen" <hhjmusik@get2net.dk> wrote in message
news:t84T6.3195
> Men, hvis nu jeg gerne vil inkludere en fil og stien til denne fil står i
en
> variabel, hvordan gør jeg så? Jeg har prøvet noget ala dette men uden held
> <% Dim filnavn
> filnavn = "filen.asp" %>
> <!--#Include File=<%="'" & filnavn & "'" %>-->
> Men det virker ikke. Er der nogen der ved hvordan man gør?

SSI eksekveres FØR asp dvs sige at den i ovenstående vil lede efter en fil
kaldet <%" & filnavn & "%> hvilket nok ikke findes.

Derimod kan du godt lave noget ala dette:

If filnavn = "filen.asp" Then
<!--#Include File="filen.asp"-->
Elseif filnavn = "filen2.asp" Then
<!--#Include File="filen2.asp"-->
End if

Da alle filerne bliver inkluderet men kun det der er fra filen.asp bliver
eksekveret.

Alternativt kan du kigge lidt på Server.Execute som kom med i ASP i version
3 som kan bruges som include i visse situationer:
<http://msdn.microsoft.com/library/psdk/iisref/vbob9pid.htm>


--
Jakob Andersen
FAQ for webdesign gruppen på
<http://www.usenet.dk/oss/dk.edb.internet.webdesign>
"Det er rart at være vigtig, men det er vigtigere at være rar "
>
> --
> Venlig Hilsen Henrik
>
> http://www.geekcode.com
> GIT/GMU$ d S: a--- C++ !U !P L !E W+++ N+ O-- K? w++++ O- M@
> V? !PS !PE Y PGP t 5+ X++ R- tv+ b+ DI++ D+ G e- h! r++ y++
>
>
>



Asbjørn Ulsberg (05-06-2001)
Kommentar
Fra : Asbjørn Ulsberg


Dato : 05-06-01 13:33

"Jakob Andersen" <jakob@andersen.as> skrev:
> If filnavn = "filen.asp" Then
> <!--#Include File="filen.asp"-->
> Elseif filnavn = "filen2.asp" Then
> <!--#Include File="filen2.asp"-->
> End if

Jeg har bare en kommentar til If..ElseIF..End If.
Det er lettere og mer oversiktelig å bruke Select Case
om man bare skal sjekke verdien på en variabel, og
denne variabelen kan ha mange forskjellige verdier;

Select Case filnavn
Case "filen.asp"
<!-- #include file="filen.asp" -->
Case "filen2.asp"
<!-- #include file="filen2.asp" -->
Case "filen3.asp"
<!-- #include file="filen3.asp" -->
Case "filen4.asp"
<!-- #include file="filen4.asp" -->
Case Else
<!-- #include file="defaultfil.asp" -->
End Select

--
Mvh
Asbjørn Ulsberg
asbjorn@tigerstaden.no



Henrik Hejbøl Jensen (05-06-2001)
Kommentar
Fra : Henrik Hejbøl Jensen


Dato : 05-06-01 13:41


"Asbjørn Ulsberg" <asbjorn@tigerstaden.no> wrote in message
news:9fijh8$5aq$1@taliesin.netcom.net.uk...
> "Jakob Andersen" <jakob@andersen.as> skrev:
> > If filnavn = "filen.asp" Then
> > <!--#Include File="filen.asp"-->
> > Elseif filnavn = "filen2.asp" Then
> > <!--#Include File="filen2.asp"-->
> > End if

Ja men problemet er at jeg ikke kender filens navn da det bliver leveret
oppe i querystringen. Det er til en side hvor der er omkring 100
potientielle muligheder for hvilken fil der skal indsættes.
Er der en anden måde man kan indsætte en side på når det nu skal være en
variabel?

\Henirk



Asbjørn Ulsberg (05-06-2001)
Kommentar
Fra : Asbjørn Ulsberg


Dato : 05-06-01 13:58

"Henrik Hejbøl Jensen" <hhjmusik@get2net.dk> skrev:
>>> <!--#Include File="filen.asp"-->
> Er der en anden måde man kan indsætte en side på når det nu skal
> være en variabel?

Du kan prøve ASP-include;

filnavn = Request.QueryString("filnavn")
Server.Execute(filnavn)

Dette fungerer imidlertid bare på ASP v3.0+. Det er en ting
du bør tenke på når du lager en slik løsning og det er sikkerhet.
Med denne løsningen har du *ingen* kontroll over hvilken fil
som blir inkludert, så om jeg hadde vært deg ville jeg ihverfall
spesifisert hvilke filer som ikke skal kunne inkluderes.

--
Mvh
Asbjørn Ulsberg
asbjorn@tigerstaden.no




Jesper West Ørngreen (05-06-2001)
Kommentar
Fra : Jesper West Ørngreen


Dato : 05-06-01 14:29

On Tue, 5 Jun 2001 14:40:39 +0200, "Henrik Hejbøl Jensen" <hhjmusik@get2net.dk>
wrote:

> Ja men problemet er at jeg ikke kender filens navn da det bliver leveret
> oppe i querystringen. Det er til en side hvor der er omkring 100
> potientielle muligheder for hvilken fil der skal indsættes.

Hvis du er tvunget til at køre under ASP 2.0 og derfor ikke kan bruge
"Server.Execute" metoden, så prøv at hente indholdet med scripting.filesystemobject,
hvor du godt kan bruge variablen som filnavn.

Hvis det er alm html, så bare hent og skriv ud.
hvis det er ASP kode, så brug VBScript kommandoen Execute.

Hurtigt eksempel:
--------------------------------------------------------------------
FilVariabel = "c:\inetpub\wwwroot\sample\include1.asp"

'Alm HTML-inkludering
Response.Write myInclude(FilVariabel)

'ASP inkludering
Execute myInclude(FilVariabel)


function myInclude(filNavn)
   Dim fso,fil
   Set fso = Server.CreateObject("Scripting.FileSystemObject")
   set fil = fso.OpenTextFile( filNavn)
   myInclude = fil.readAll()
   fil.close
   set fil = nothing
   set fso = nothing
end function
--------------------------------------------------------------------

Du skal så enten fjerne alle serverScript tags i dine include filer, altså:
<% ... %>
<SCRIPT LANGUAGE=vbscript RUNAT=Server> ... </SCRIPT>
eller udvide funktionen til at finde og fjerne dem, inden ASP koden returneres

Jeg vil nok selv foretrække den sidste løsning


--
Mvh

Jesper Ørngreen admin@orngreen.dk
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Always remember you are unique - just like everybody else

Jakob Andersen (05-06-2001)
Kommentar
Fra : Jakob Andersen


Dato : 05-06-01 13:46

"Henrik Hejbøl Jensen" <hhjmusik@get2net.dk> wrote in message
news:ds4T6.3212$R84.573947@news010.worldonline.dk...
> Ja men problemet er at jeg ikke kender filens navn da det bliver leveret
> oppe i querystringen. Det er til en side hvor der er omkring 100
> potientielle muligheder for hvilken fil der skal indsættes.
> Er der en anden måde man kan indsætte en side på når det nu skal være en
> variabel?

Du svarer Asbjørns indlæg og det er mig du citerer. tsk, tsk.

Har du kigget på Server.execute()
--
Jakob Andersen
FAQ for webdesign gruppen på
<http://www.usenet.dk/oss/dk.edb.internet.webdesign>
"Det er rart at være vigtig, men det er vigtigere at være rar "



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

Månedens bedste
Årets bedste
Sidste års bedste