Af David Trasbo
Opdateret: 20-10-2011
Lad os antage at vi har følgende filer:
default.asp, side1.inc, side2.inc og side3.inc.
De tre tekstfiler indeholder tekst, som skal hentes ind eller inkluderes i default.asp. Hvis adressen for eksempel er dinside.dk/default.asp?id=side1 skal side1.inc inkluderes og så videre.
Men dette kan ikke gøres med SSI, der ligner nedenstående:
<!--#include file="<%=Request.Querystring("id")%>.inc"-->
Hvorfor ikke? Fordi SSI bliver afviklet før ASP, så filen der bliver ledt efter er i virkeligheden: <%=Request.Querystring("id")%>.inc, og den eksisterer umiddelbart ikke.
Hvis du i stedet bruger ren ASP, vil det virke:
<%
side_id = Request.Querystring("id")
if side_id = "" Then
side_id = "nothing" 'default indhold hvis intet er specifiseret
end if
Server.Execute(side_id & ".inc")
%>
Hvis querystring er tom vises nothing.inc som kun indeholder . Ønskes side1.inc som standard, skriver man bare den ind i listen.
Du kan også bruge lidt SSI, men metoden er langt mere besværlig:
<% If Request.Querystring("id") = "side1" then %><!--#include file="side1.inc"-->
<% ElseIf Request.Querystring("id") = "side2" then %><!--#include file="side2.inc"-->
<% ElseIf Request.Querystring("id") = "side3" then %><!--#include file="side3.inc"-->
<% Else Response.write "<p>Ingen fil valgt.</p>" %>
Nu mangler vi bare kaldet til det inkluderede indhold:
<a href="side.asp">[Luk boks]</a> -
<a href="side.asp?id=side1">[Link 1]</a> -
<a href="side.asp?id=side2">[Link 2]</a> -
<a href="side.asp?id=side3">[Link 3]</a>
[Luk boks] - [Link 1] - [Link 2] - [Link 3]
Artikler om HTML
FAQ-svar om HTML
Kodebasen om HTML