Avatar billede rbnstudio Nybegynder
05. februar 2000 - 17:03 Der er 7 kommentarer og
2 løsninger

Asp i include statement???

Man kan ikke umiddelbart bruge en asp variable i et include statement....hvad kan man så gøre....hvis ens include fil er variable????

<!-- This script will fail -->
<% name=(header1 & ".inc") %>
<!--#include file="<%= name %>"-->
Avatar billede hmau Nybegynder
05. februar 2000 - 17:17 #1
kan gøres på flg. måde

select case header1
  case "hej"
    %>
    <!--#include file="hej.inc"-->
    <%
  case "dav"
    %>
    <!--#include file="dav.inc"-->
    <%
  case else
end select
Avatar billede rbnstudio Nybegynder
05. februar 2000 - 18:00 #2
Well...ja...men nu er problemet bare at der er flere hundrede filer....
Avatar billede hmau Nybegynder
05. februar 2000 - 18:13 #3
det kan godt være der er flere hundrede filer, men eftersom includes bliver eksekveret før scripts, er det ikke muligt at bruge en variabel i din include, så select case er den bedste løsning.

en anden ting er at sikkerhedsmæssigt er det en dum ide at kalde dem .inc eftersom hvis man skriver filnavnet i adressen vil den blive downloadet. du bør i stedet kalde dem .asp
Avatar billede rbnstudio Nybegynder
05. februar 2000 - 18:19 #4
jep....det var også min konklusion...

Avatar billede hmau Nybegynder
05. februar 2000 - 18:28 #5
hvorfor afviser du så svarene?
Avatar billede rbnstudio Nybegynder
05. februar 2000 - 18:33 #6
Jeg...har ikke fået et svar jeg kan bruge til noget....
...men du kan få det halve hvis du svare igen.
Avatar billede winkill Nybegynder
06. februar 2000 - 14:35 #7
Glem alt om at include direkte - det kan ikke lade sig gøre. Det man i stedet kan gøre er at lave en fil som indeholder include tags, det giver lidt mere diskaktivitet men det virker.

Denne kode opretter en fil der includer tre filer:

<%virtualInclude("i1.inc i2.inc i3.inc")%>
<!--#include file="temp.asp"-->

Og her er funktionen virtualInclude som opretter filen med include tags etc.

<%
Function virtualInclude(theFiles)
  Dim fso, f, fList, i
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set f = fso.CreateTextFile(Server.MapPath("temp.asp"),True)
  fList = Split(theFiles," ")
  For i = 0 to UBound(fList)
    f.WriteLine "<!--#include file='" & fList(i) & "'-->"
  Next
  f.Close
End Function
%>

Husk at scriptet skal slette temp.asp når du har includet den.
Avatar billede 127144146281 Nybegynder
06. marts 2000 - 04:45 #8
hmm kan lige forstille mig det kaos der vil blive hvis det er et meget besøgt sted
Avatar billede winkill Nybegynder
06. marts 2000 - 08:05 #9
Så prøv med execute...
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester