Avatar billede mothwe Nybegynder
25. november 2003 - 11:00 Der er 14 kommentarer

include side

Hvordan laver jeg noget i denne stil:

<%
side = Request("side")
%>

<!--#include file="<%side%>.asp"-->

Ovenstående virker (selvfølgelig) ikke!
Avatar billede chriscross Nybegynder
25. november 2003 - 11:03 #1
Jeg er faktisk ikke klar over om du kan det, men hvis du kan skal du huske "=" i din include:
<!--#include file="<%=side%>.asp"-->
Avatar billede medions Nybegynder
25. november 2003 - 11:08 #2
Det kan du ikke... Man kan ikke  blande SSI og ASP sammen så skal det være sådan her:

<%
  Server.Execute(side & ".asp")
%>

//>Rune
Avatar billede medions Nybegynder
25. november 2003 - 11:08 #3
En anden måde man kunne gøre var med IF..ELSE sætninger:

<% If Side = "forside" Then %>
  <!-- #include file="forside.asp" -->
<% End If %>

//>Rune
Avatar billede mothwe Nybegynder
25. november 2003 - 11:09 #4
medions ... kan du lige uddybe den lidt? - den åbner vel bare en ny side - og inkluderer ikke et eksternt dokument som jeg har behov for?!
Avatar billede mothwe Nybegynder
25. november 2003 - 11:10 #5
medions - det med IF THEN sætningerne har jeg overvejet - men det giver mange sætninger ... dem ville jeg gerne undgå! Men hvis det ikke kan være andet, så må det være løsningen!
Avatar billede medions Nybegynder
25. november 2003 - 11:12 #6
Altså med Server.Execute() kan det du forsøger godt lade sig gøre!

<%
  side = Request.QueryString("side")
  Server.Execute(side & ".asp")
%>


Hvis ikke du ønsker at bruge overstående løsning kan du selvf. bruge SELECT CASE, men det er jo næsten det samme som IF...ELSE!

//>Rune
Avatar billede mothwe Nybegynder
25. november 2003 - 11:17 #7
medions> Jamen, løsningen med Server.Execute() åbner vel bare en ny side ... gør den ikke??? Det kan jeg desværre ikke bruge til noget :(
Avatar billede chriscross Nybegynder
25. november 2003 - 11:19 #8
Server.Execute åbner ikke en ny side - den eksekverer den kode der er på den side du bruger som argument og vender derefter tilbage til der hvor du kaldte funktionen. Prøv den ;-)
Avatar billede erikjacobsen Ekspert
25. november 2003 - 11:20 #9
Server.Execute er ikke "det samme som" en include, sådan rent logisk:

exec1.asp
---------
<%
  a = 77
  response.write "Before it's " & a & "<br>"
  server.execute("exec2.asp")
  response.write "After it's " & a & "<br>"
%>

exec2.asp
---------
<%
  response.write "Inside " & a & "<br>"
  a=a+1
  response.write "New value " & a & "<br>"
%>

Giver dette output
------------------
Before it's 77
Inside
New value 1
After it's 77


Med en include forventer jeg at få variabler med over - det gør man ikke
med server.execute
Avatar billede mothwe Nybegynder
25. november 2003 - 11:27 #10
erikjacobsen> Det er slet ikke for at være besværlig - men jeg har svært ved at se hvordan jeg skal kunne bruge Server.Execute() til at ændre indholdet på min side...

Min ide med ovenstående var, at jeg i den samme side (default.asp) kunne ændre indholdet (f.eks. vha. include file) - altså inkludere forskellige .inc-filer afhængig af hvad brugeren har valgt!

Hvordan er det du mener jeg kan benytte Server.Execute() i den forbindelse (undskyld hvis jeg spørger dumt)?
Avatar billede erikjacobsen Ekspert
25. november 2003 - 11:29 #11
Præcis sådan som der er foreslået tidligere - du har kun det problem at
almindelige variabler ikke kommer med over. Men man kan proppe de ting ind
i en session-variabel, så går det.
Avatar billede syntax_hh Nybegynder
25. november 2003 - 15:27 #12
Sådan her ville jeg nok have gjort ;)

<%
side = Request.Querystring("side")
%>


<!--#include file="<% Response.Write "" & Request("side") & "" %>.asp"-->
Avatar billede medions Nybegynder
25. november 2003 - 16:04 #13
syntax_hh> Godt for dig, men hvis du nu læser hvad der er blevet skrevet lidt længere oppe, så kan det ikke lade sig gøre!

//>Rune
Avatar billede ras2000 Nybegynder
26. november 2003 - 16:55 #14
Alternativt kan du lave noget createtextfile, som du så åbner, men det er en lidt rodet løsning.
Den side du vil include, indeholder den kode? Eller er det rent tekst?
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