شما می توانید محتوای یک فایل Asp را به فایل asp دیگر قبل از اینکه ان فایل در سرور اجرا شود ، با دستور #include اضافه کنید
دستور #include برای ایجاد تابع ، header ها ، footer ها و یا المنت هایی که در چندین صفحه بارها مورد استفاده قرار می گیرند بکار می رود
 
روش استفاده از دستور include#

با استفاده از notepad هر سه فایلی که در زیر محتوایشان ذکر شده را در مسیر iis ایجاد کنید

بعد فایل mypage.asp را اجرا کنید

 

روش استفاده از دستور include# را هم  در این مثال اموزش می بینید

 در زیر دستورات فایل mypage.asp را مشاهده می کنید

 

<!DOCTYPE html>
<html>
<body>
<h3>Words of Wisdom:</h3>
<p><!--#include file="wisdom.inc"--></p>
<h3>The time is:</h3>
<p><!--#include file="time.inc"--></p>
</body>
</html>

 
 در زیر محتوای فایل wisdom.inc را مشاهده می کنید

 

"One should never increase, beyond what is necessary,
the number of entities required to explain anything."

 
 در زیر دستورات فایل time.inc را مشاهده می کنید

 

<%
Response.Write(Time)
%>

 
 اگر شما به محتوایی که در مرورگر نشان داده می شود توجه کنید ، انگار اجرای دستورات زیر است  :

 

<!DOCTYPE html>
<html>
<body>
<h3>Words of Wisdom:</h3>
<p>"One should never increase, beyond what is necessary,
the number of entities required to explain anything."</p>
<h3>The time is:</h3>
<p>11:33:42 AM</p>
</body>
</html>

 

 درک مطالب بالا و مثال بالا اصلا مشکل نیست

بلکه بسیار زیبا و جذاب است

 
قوائد استفاده از دستور include
 برای قرار دادن محتوای یک فایل دیگر در فایل asp ، باید دستور include را در تگ توضیحات قرار دهیم
یعنی بصورت زیر

 

<!--#include virtual="somefilename"-->

or

<!--#include file ="somefilename"-->

 

 
 کلمه کلیدی virtual :

 از کامه کلیدی virtual زمانی استفاده می شود که فایلی که می خواهیم محتویاتش را به فایل asp بیافزائیم درون یک شاخه ( پوشه ) باشد و بخواهیم از مسیر دهی نسبی برای مشخص کردن ادرس فایل افزودنی استفاده کنیم

مثلا فرض کنید در یک پوشه فایل asp  ما قرار دارد

درون این پوشه ، زیر پوشه html قرار دارد

درون پوشه html فایل header.inc قرار دارد

 

حالا باید مسیر فایل فایل header.inc را در فایل asp مشخص کنیم تا محتویاتش به فایل asp افزوده شود

اگر بخواهیم مسیر را بطور نسبی مشخص کنیم لازم نیست نام پوشه اصلی که خود فایل Asp هم دران است را مشخص کنیم فقط از ان به بعد را می نویسیم :

 

 

<!-- #include virtual ="/html/header.inc" -->
 / قبل از مسیر یعنی html زیر پوشه ای است در هما ن پوشه ای که فایل asp قرار دارد
 
  کلمه کلیدی File:
در صورتیکه فایل افزودنی در زیر پوشه ای قرار دارد و ما  بخواهیم مسیر فایل افزودنی را  بصورت مطلق ذکر کنیم باید از کلمه کلیدی file استفاده کنیم

 مثال

فرض کنید فایل Asp ما در پوشه html  قرار دارد

در این پوشه ، زیر پوشه ای به نام headers قرار دارد

درو ن این زیر پوشه فایل افزودنی به نام headers.inc قرار دارد

 دستور include که در فایل Asp نوشته می شود بصور ت زیر خواهد بود

 

<!-- #include file ="headers\header.inc" -->
 اگر فایل افزودنی در مسیر مشخص شده نباشد انگاه دستور include اجرا نخواهد شد
 
نکات مهم
  در قسمت بالا ، ما از فایل افزودنی با پسوند inc در دستور include استفاده کردیم

 نکته این است که اگ کاربری بخواهد یک فایل inc را در مرورگر مشاهده کند ، مستقیما هر چه در ان فایل است در مروگر دیده خواهد شد

اما اگر فایل ای که می خواهیم محتویاتش  با دستور include  به فایل asp افزوده شود ، در بردارنده اطلاعات محرمانه یا اطلاعاتی باشد که شما نخواهید کاربرها ان ها را ببیننند بهتر است فایل  های افزودنی پسوند asp داشته باشند

زیر ا کد های درون فایلهای Asp بعد از تفسیر شدن  برای کاربر قابل مشاهده نخواهند یود

 

یک فایل افزودنی می تواند از انواع دیگر هم باشد 

و از محتویات یک فایل افزودنی خاص می توان چندین بار در فایل  asp استفاده کرد

 

مهم :

قبل از اینکه اسکریپت های asp اجرا شوند ، فایلهای افزودنی به فایل  asp افزوده می شوند

 مثال

کد زیر اجرا نخواهد شد زیرا فایل asp دستور include را قبل از اینکه مقداری در متغیر قرار گیرد اجرا می کند

 

<%
fname="header.inc"
%>
<!--#include file="<%fname%>"-->

 یعنی قبل از اجرای

<%
fname="header.inc"

%>

تمام دستورهای  include در فایل Asp اجرا می شوند پس موقع اجرای دستور include این مثال هنوز چیزی در متغیر fname وجود ندارد تا محتوایت فایل افزوده شود

جالبه نه ؟!

 
 نکته بسیار مهم :
 نمی توان از دستور include در درون تگ های باز و بسته مشخصه Asp استفاده کرد

 مثال :

دستورات زیر اجرا نمی شود

چرا که دستور include درون محدوده اسکریپت asp نوشته شده است

 

<%
For i = 1 To n
  <!--#include file="count.inc"-->
Next
%>

 

 حالا چه باید کرد ؟

شاید ما بخواهیم محتویات یک فایل دیگر را درون حلقه for اسکریپت Asp بارها به نمایش بگذاریم ؟

جواب این است که باید قبل از شروع دستور include اسکریپت asp را ببندیم

بعد دستور include را بنویسیم

بعد چون دنباله دستور for یک دستور اسکریپتی asp است باید دوباره

تگ asp را باز کنیم

ادامه دستورات اسکریپت را بنویسیم

در نهایت انرا ببندیم

 مثل زیر :

کد زیر مشکلی ندارد و اجرا می شود

 

 <% For i = 1 to n %>


  <!--#include file="count.inc" -->


<% Next %>