webForumDet fria alternativet

ASP ska köras i fil

ASP

31 svar · 336 visningar · startad av Erik Juhlin

Medlem sedan maj 200010 687 inlägg
Frågan#1

Jag använder den här koden på några sidor för att inkludera filer:

<%
kategori = Request.QueryString("kategori") & "/"
If Request.QueryString("kategori") = "" Then
kategori = ""
End If
sida = Request.QueryString("sida")
If Request.QueryString("sida") = "" Then
sida = "default"
End If
Path = Server.MapPath(kategori & sida & ".inc")
Set FilSys = Server.CreateObject("Scripting.FileSystemObject")
If sida <> "" and FilSys.fileExists(Path) Then
Set Read = FilSys.OpenTextFile(Path)
Do While Not read.AtEndOfStream
Response.Write read.ReadLine & vbcrlf
Loop
Set Read = nothing
Else
%>Sidan &auml;r inte klar..<%
End If
Set FilSys = nothing
%>

Nu är det så att jag vill att ASP kod i .inc filen (har även testat att ha .asp) ska köras som vanligt. Finns det nåt sätt att göra det på?

------------------
/Erik
www.juhlin.nu /sk8files/ /mp2d/

Medlem sedan feb. 20013 023 inlägg
#2

Inte säker på jag förstått rätt, men om du includar en .asp-fil med aspkod inom
<% och %> så kommer den köras autmatiskt.

Medlem sedan feb. 20013 023 inlägg
#3

Nu är jag säker på att jag fattade fel. Ignorera mitt inlägg!

Medlem sedan dec. 19998 577 inlägg
#4

Allt innehåll i filerna du inkluderar på det sättet kommer att behandlas som ren data, och kommer inte att köras...

Skall du inkludera filer får du använde #include eller server.execute...

------------------
Nu har du sjungit på sista refrängen
Jourhavande Vide

Medlem sedan maj 200010 687 inlägg
#5

Kan man slänga in #include eller server.execute i min kod?
#include, är det SSI du menar då eller? För det funkar ju inte i min kod i så fall..

Men server.execute, funkar det i min kod?

------------------
/Erik
www.juhlin.nu /sk8files/ /mp2d/

Medlem sedan maj 200010 687 inlägg
#6

Förresten, om jag har en funktion på sidan som den där filen ska inkluderas på, kan jag då "länka" till den i filen?

------------------
/Erik
www.juhlin.nu /sk8files/ /mp2d/

Medlem sedan dec. 19998 577 inlägg
#7

Varför kan du inte använda SSI? server.execute fungerar ungefär på samma sätt, bara några olikheter...

Vad har du i filen du skall inkludera?

Förresten, om jag har en funktion på sidan som den där filen ska inkluderas på, kan jag då "länka" till den i filen?

Om du har inkuderat filen så... eller missuppfattar jag frågan?

------------------
Nu har du sjungit på sista refrängen
Jourhavande Vide

Medlem sedan maj 200010 687 inlägg
#8

Jag vill kunna bestämma vilken fil som ska inkluderas med hjälp av querystringen...

------------------
/Erik
www.juhlin.nu /sk8files/ /mp2d/

Medlem sedan dec. 19998 577 inlägg
#9

Ah, oki... då är Server.execute din metod... kräver dock ASP3.0...

------------------
Nu har du sjungit på sista refrängen
Jourhavande Vide

Medlem sedan maj 200010 687 inlägg
#10

Hur kan man kolla om servern stöder det?

------------------
/Erik
www.juhlin.nu /sk8files/ /mp2d/

Medlem sedan dec. 19998 577 inlägg
#11

Testa:

Server.execute("din_sida.asp")

Funkar det så funkar det... :)

------------------
Nu har du sjungit på sista refrängen
Jourhavande Vide

Medlem sedan maj 200010 687 inlägg
#12

Funkade bra, både lokalt och på webbhotellets server! :)

Hur ska jag då skriva koden?

------------------
/Erik
www.juhlin.nu /sk8files/ /mp2d/

Medlem sedan maj 200010 687 inlägg
#13

Grr.. Det där med funktioner funkade inte.
Vill ha det här på sidan där den andra filen ska inkluderas:

<%
Function font(face, size, color, text)
Response.write "<font face=""" & face & """ size=""" & size & """ color=""" & color & """>" & text & "</font>"
End Function
%>

Och sen i filen som inkluderas:

<%=font("Verdana, Helvetica, sans-serif", "2", "#FF0000", "Hej!")%>

Funkar inte.. :(
Inte alls bra, då blir jag tvungen att ha den översta koden i filen vilket jag vill slippa.. :l

------------------
/Erik
www.juhlin.nu /sk8files/ /mp2d/

[Redigerat av Erik Juhlin den 16 feb 2001]

Medlem sedan dec. 19998 577 inlägg
#14

nej det fungerar inte att "prata mellan" de två filerna med server.execute, dom körs separat, och resultatet av filen du exekverar förs in i orginalfilen.

Varför har du inte alla funktioner i en includefil som du inkluderar på de sidor du behöver?

------------------
Nu har du sjungit på sista refrängen
Jourhavande Vide

Medlem sedan maj 200010 687 inlägg
#15

Jo, jag skulle kunna inkludera en fil med SSI i filen som redan inkluderats. Där kan jag då ha funktioner och liknande, och behöver man ändra något så behöver man bara göra det i en "funktion-fil". :)

Men min andra fråga, hur ska jag skriva koden? Vill ju ha in server.execute i koden jag skrev överst.. :)

------------------
/Erik
www.juhlin.nu /sk8files/ /mp2d/

Medlem sedan dec. 19998 577 inlägg
#16
<%
sida = Request.QueryString("sida")
If Request.QueryString("sida") = "" Then
sida = "default"
server.execute(sida&".inc")
End If
%>

------------------
Nu har du sjungit på sista refrängen
Jourhavande Vide

Medlem sedan maj 200010 687 inlägg
#17

Då får man ju ett felmeddelande om filen inte finns. Det får man inte med koden längst upp.
Kan man inte ta koden längst upp och bara lägga in server.execute någonstans?

------------------
/Erik
www.juhlin.nu /sk8files/ /mp2d/

Medlem sedan dec. 19998 577 inlägg
#18

oj, :r

<%
sida = Request.QueryString("sida")
If Request.QueryString("sida") = "" Then
sida = "default"
End If
server.execute(sida&".inc")
%>

Du måste ha dokumentet som du ropar efter också... annars skriker den till...

Vad fick du för felmeddelande?

------------------
Nu har du sjungit på sista refrängen
Jourhavande Vide

Medlem sedan maj 200010 687 inlägg
#19

Det felet såg jag innan. Men det jag menar är att jag vill att om inte filen finns så ska jag själv kunna skriva en text. Så är det i koden jag har nu (den längst upp)..

------------------
/Erik
www.juhlin.nu /sk8files/ /mp2d/

Medlem sedan juni 200032 967 inlägg
#20

man kan ju göra en fuling...

<%
on error resume next
sida = Request.QueryString("sida")
If Request.QueryString("sida") = "" Then
sida = "default"
server.execute(sida&".inc")
if err.number <> 0 then response.write "filen finns ju inte, din apa!"
End If
%>

eller så kan man använda din kod från originalinlägget för att kolla med fso först om filen finns, gör den det så, .execute.

mvh,

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
if i'm not back in five minutes, just wait longer.</A>

598 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
456 ms — deklarationer (db)
0 ms — hämta statistik (cache)
140 ms — hämta tråd, inlägg och bilagor (db)
456 ms — ändringar (db)