Jag har en sida som ska visa olika saker beroende på vad som står i adressfältet. Såhär har jag skrivit: När sidan körs kommer bara det som du vill att inkluderas. Det som händer är att den bakar ihop en ny sida med huvudsidan och den/de includefiler du refererar till. Eftersom SSI-direktiven körs innan asp-koden kommer alla sidor alltid att inkluderas, de som du har med flera gånger kommer dessutom att inkluderas flera gånger och detta är inte bra ur prestandasynpunkt... Hur mycket det gör i praktiken vet jag inte, men du skulle kunna testa med kommandot Server.Execute "sida.asp". Eftersom det är ASP kommer bara de sidorna du vill att "inkluderas". Server.Execute inkluderar inte sidan, utan den kör sidan "utanför" men placerar resultatet i den anropande sidan. Kolla Response.Execute (om du har IIS5)Include
<% if request.querystring("main")="sajtnyheter" then %>
<!-- #include file="meddelanden.inc" -->
<% elseif request.querystring("main")="musiknyheter" then %>
<!-- #include file="meddelanden.inc" -->
<% elseif request.querystring("main")="diskutera" then %>
<!-- #include file="meddelanden.inc" -->
<!-- #include file="senasteinlagg.inc" -->
osv...
Inc-filerna innehåller lite kod. Nu så är det så att en del inc-filer inkluderas i många av if-satserna. meddelanden.inc inkluderas ju i alla i exemplet ovenför. Frågan är helt enkelt om det gör något. Tar det mer minne eller nåt om man gör så. Alternativet vore ju att skiva "if blabla or blabla or... then include meddelanden.inc" för varje inc-fil istället men det vill jag inte göra om jag inte måste.Sv: Include
Så i ditt fall får du inte med ALLT som man kanske skulle kunna tro. En sak är bra att veta, en includefil körs alltid före resterande vilket innebär att om du skriver:
test1.asp
<%
värde = 32
<!--#include file="test2.asp"-->
svar = 99
%>
test2.asp
<%
response.write värde
response.write svar
%>
så kan variabeln värde användas i includefilen, men inte svar.
/PelleSv: Include
En annan sak du ska tänka på: Döp ALDRIG dina filer med ASP-kod till något annant än .asp. Om någon listar ut namnet på din includfil (vilket inte brukar vara så svårt) kan han/hon ladda ner din källkod, om då inc-filen innehåller lösenord är detta inte bra...
/JohanSv: Include
Istf includefiler kör du:
<% if request.querystring("main")="sajtnyheter" then %>
Response.Execute("meddelanden.inc")
<% elseif request.querystring("main")="musiknyheter" then %>
.....
Och som sagts tidigare, döp om filerna så dom får asp-filtyp, för säkerheten