ASP入门(十七)-ASP #include
通过使用 #include 指令,您可以在服务器执行 ASP 文件之前,把另一个 ASP 文件的内容插入到这个 ASP 文件中。
如何使用 #include 指令
这里有一个名为 mypage.asp 文件:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>如何使用 #include 指令</title>
</head>
<body>
<h3>至理名言</h3>
<!-- 这里引用了 wisdom.inc 文件 -->
<p><!--#include file="wisdom.inc"--></p>
<h3>现在时间是:</h3>
<!-- 这里应用了 time.asp 文件显示当前时间-->
<p><!--#include file="time.asp"--></p>
</body>
</html>
这是 wisdom.inc 文件内容:
“优秀的代码是它自己最好的文档。当你考虑要添加一个注释时,问问自己,“如何能改进这段代码,以让它不需要注释?” —— Steve McConnell 《代码大全》
这是 time.asp 文件内容:
<%
Response.Write(Time)
%>
在 Firefox 浏览器中运行 mypage.asp 文件后,显示效果如下:

通过【查看页面源代码】,它将如下所示:

引入文件的语法
如需在 ASP 页面中引用文件,请把 #include 指令放在注释标签 <!-- --> 中:
<!--#include virtual="somefilename" --> or <!--#include file="somefilename" -->
#include virtual 后面跟的文件是以虚拟目录开始的“绝对路径“。
#include file 后面跟的是文件的相对路径,不可以使用绝对路径,例如:
我们通过例子来学习区别,需要调用的文件(time.asp 和 wisdom.inc)存放在 inc 目录中,主页面(mypage.asp)存放在 test 目录中,树结构下图所示:

我们的 mypage.asp 分别用两种方式进行引用,主要代码如下:
......
<body>
<h1>#include file 相对地址方式的引用演示</h1>
<h3>至理名言</h3>
<p><!--#include file="../inc/wisdom.inc"--></p>
<h3>现在时间是:</h3>
<p><!--#include file="../inc/time.asp"--></p>
<hr>
<h1>#include virtual 绝对地址方式的引用演示</h1>
<h3>至理名言</h3>
<p><!--#include virtual="/inc/wisdom.inc"--></p>
<h3>现在时间是:</h3>
<p><!--#include virtual="/inc/time.asp"--></p>
</body>
......
调用后显示效果如下:

特别提示
通过上面的部分,我们已经使用了 INC 作为被引用文件的文件扩展名。如果用户尝试直接浏览 INC 文件,这个文件中的内容会被显示出来。最好还是使用 ASP 作为扩展名。
在脚本执行前,被引用的文件就会被处理和插入。下面的脚本无法运行,就是因为 ASP 会在为变量赋值前执行 #include 指令,如下:
<%
fname = "/inc/wisdom.inc"
%>
<!--#include virtual="<%fname%>" -->
运行后会报错,提示找不到包含的文件 <%fname%>。
你不能在脚本分隔符<%%>之间包含文件引用,也是无法执行的,如下:
<%
For i = 1 To 10
<!--#include virtual="/inc/wisdom.inc"-->
Next
%>
但是下面的这段代码是可以执行的,引用 10 遍,如下:
<%For i = 1 To 10%>
<!--#include virtual="/inc/wisdom.inc"-->
<%Next%>
被引用的文件可以引用其他文件,同一个 ASP 文件可以对同一个文件多次引用。
示例代码下载
ASP入门(十七)-ASP #include的更多相关文章
- ASP入门(二十二)-连接数据库
ADO 简介 在 ASP 中访问数据库使用的 ADO 组件. ADO 是一项微软的技术. ADO 指 ActiveX 数据对象(ActiveX Data Objects). ADO 是微软的 Acti ...
- C# -- HttpWebRequest 和 HttpWebResponse 的使用 C#编写扫雷游戏 使用IIS调试ASP.NET网站程序 WCF入门教程 ASP.Net Core开发(踩坑)指南 ASP.Net Core Razor+AdminLTE 小试牛刀 webservice创建、部署和调用 .net接收post请求并把数据转为字典格式
C# -- HttpWebRequest 和 HttpWebResponse 的使用 C# -- HttpWebRequest 和 HttpWebResponse 的使用 结合使用HttpWebReq ...
- ASP入门(十三)-Server对象
Server 对象用于处理服务器上的一些特殊任务,例如,创建组件实例.获取文件路径.执行ASP脚本文件等. Server 对象是体现 ASP 强大功能的一个对象,之前介绍的对象都是针对获取.请求以及简 ...
- asp.net php asp jsp 301重定向的代码
介绍一下针对各类程序系统实施301重定向的代码: 1.Linux主机重定向 Godaddy的Liunx主机,Godaddy本身已经支持Apache,所以直接创建一个.htaccess文件就可以了,一般 ...
- ASP.NET没有魔法——ASP.NET OAuth、jwt、OpenID Connect
上一篇文章介绍了OAuth2.0以及如何使用.Net来实现基于OAuth的身份验证,本文是对上一篇文章的补充,主要是介绍OAuth与Jwt以及OpenID Connect之间的关系与区别. 本文主要内 ...
- ASP.NET没有魔法——ASP.NET MVC Razor与View渲染 ASP.NET没有魔法——ASP.NET MVC界面美化及使用Bundle完成静态资源管理
ASP.NET没有魔法——ASP.NET MVC Razor与View渲染 对于Web应用来说,它的界面是由浏览器根据HTML代码及其引用的相关资源进行渲染后展示给用户的结果,换句话说Web应用的 ...
- 【译】在 ASP.NET 和 ASP.NET Core 之间共享代码
原文 | Ken 翻译 | 郑子铭 随着 .NET 6 的发布,使用 ASP.NET Core 可以获得更多好处.但是将现有代码迁移到 ASP.NET Core 通常听起来像是一项巨大的投资.今天我们 ...
- ASP.NET路由[ASP.NET Routing]
ASP.NET路由[ASP.NET Routing] ASP.NET路由允许你在使用URL时不必匹配到网站中具体的文件,因为这个URL不必匹配到一个文件,你使用了描述用户行为且更容易被用户理解的URL ...
- .NET、C#和ASP.NET,ASP.NET MVC 四者之间的区别
经常,会有一些人搞不清楚.NET和c#和ASP.NET这三者之间的关系,她们都是什么呢?他们之间有什么关系呢?总结一下 首先:什么是.NET? .NET是微软公司下的一个开发平台,.NET核心就是.N ...
随机推荐
- Spartan6 slave SelectMap configuration fails owing to JTAG?
http://forums.xilinx.com/t5/Configuration/Spartan6-slave-SelectMap-configuration-fails-owing-to-JTAG ...
- JVM菜鸟进阶高手之路
http://www.jianshu.com/u/3def157aab07?utm_medium=note-author-link&utm_source=mobile
- C#网络编程技术SuperSocket实战项目演练
一.SuperSocket课程介绍 1.1.本期<C#网络编程技术SuperSocket实战项目演练>课程阿笨给大家带来三个基于SuperSocket通讯组件的实战项目演示实例: ● 基于 ...
- Android笔记之属性动画
前言.动画分类 例如以下图所看到的,Android的动画主要分为三种: 以下首先说说 属性动画 所谓属性动画-- 就是指对象的属性值发生了变化,如控件位置和透明度等. 举例,如今要实现一个按键先下移. ...
- WCF中修改接口或方法名称而不影响客户端程序
本篇接着"从Web Service和Remoting Service引出WCF服务"中有关WCF的部分. 运行宿主应用程序. 运行Web客户端中的网页. 输入内容,点击按钮,能获取 ...
- TXMLDocument use case (Delphi)
Description This example illustrates the basic operations on an XML document. Code procedure CreateD ...
- WordPress主题开发实例:产品展示
产品展示用到文章和缩略图功能 实现步骤: 一.创建分类 后台创建文章分类:产品中心 二.开启缩略图功能 在主题的functions.php中,添加一段代码,代码如下: add_theme_suppor ...
- VisualStudio:让 XML 支持智能提示
将 XSD 文件拷贝到 VS 下的指定目录,我的电脑上的目录为:C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\Packages ...
- 手机也需“绿色环保”,省电类APP或将成为“标配”?
随着移动APP的大幅添加.非常多用户发现,这手机耗电量是越来越大了,在各种娱乐应用.办公应用.社交应用的冲击下,以往两天充一次电都OK.如今一天充一次还不够用,因为续航能力变弱.这也为用户带来 ...
- 通过Selector来设置按钮enable/unable状态的样式
我们可以用selector来配置button可用或者不可用时的背景,也可以用它来配置button不同状态下的文字颜色.下面左图是可用状态,右图是不可用状态. 一.配置按钮不同状态的背景 首先我们 ...