In codul paginilor ASP se pot include fisiere externe cu cod ASP sau de alta natura. Asta ajuta la organizarea mai bine a codului, pastrind lucruri comune intr-un fisier ce poate fi inclus in multe alte fisiere.
Aceasta se realizeaza simplu cu directiva #include:
<!--#include file="fisier1.asp"-->
<!--#include virtual="fisier2.asp"-->
Se vad deja 2 diferente: se foloseste file sau virtual? In principiu fac aceleasi lucruri, difera doar felul cum e specificat fisierul de inclus: fisierul e specificat absolut sau relativ fata de sistemul de fisiere sau e vorba de cai virtuale, relativ la radacina site-ului?
De exemplu:
<!--#include file="..director1fisier1.asp"-->
<!--#include virtual="/director2/fisier2.asp"-->
Primul exemplu include un fisier din directorul "director1" din parintele directorului curent, relativ la caile fisierelor de pe hard-disc.
In al 2-lea exemplu e vorbe de director2 aflat in radacina serverului web.
Sa prezentam un exemplu concret de includere:
In fisier.asp avem:
<html>
<body>
Fisier inclus:
<!--#include file="fisier_inc.asp"-->
</body>
</html>
In fisier_inc.asp avem:
<%
Response.Write "Exemplu inclus"
%>
Citeva explicatii se impun. Includerea este de fapt o inlocuire fizica a continutului in pagina originala, inainte de compilarea paginii de catre ASP. Asta inseamna ca nu se pot folosi variabile. De exemplu nu va functiona:
<%
fname="header.inc"
%>
<!--#include file="<%=fname%>"-->
Pentru a include un fisier in mijlocul unui cod ASP se scrie asa:
<% If x=1 Then %>
<!--#include file="count.inc" -->
<% End If%>
Nu va functiona:
<% If x=1 Then
<!--#include file="count.inc" -->
End If%>
Trebuie avut grija sa nu se includa recursiv un fisier in altul (erorare ce duce la blocarea paginilor):
In fisier1.asp:
<!--#include file="fisier2.asp"-->
In fisier2.asp:
<!--#include file="fisier1.asp"-->
Pe de alta parte, extensia fisierelor de inclus nu sint importante. Poate fi *.asp sau *.inc sau orice altceva. Sa aveti grija doar ca aceasta extensie sa nu fie accesibila direct prin browser, iar codul ASP sa fie afisat in clar (inclusiv cu date sensibile: parole, cod sensibile, etc.).
ASP nu are un echivalent al include_once() din PHP.