|
![]() |
名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
包含其他文件 利用服务端的INCLUDE命令可以很轻易的在Active Server Pages中包含其他文件。这种服务端INCLUDE命令不需要在脚本中实现,它完全可以作为HTML代码的一部分。 <HTML> <HEAD><TITLE>欢迎</TITLE></HEAD> <BODY> <!--#INCLUDE VIRTUAL=“mybanner.inc” --> 欢迎进入! </BODY> </HTML> 在这个例子中。文件mybanner.inc将被插入到这个ASP文件<BODY>标记下面,当这个ASP文件执行时,在mybanner.inc中的HTML代码以及脚本也将在相应位置执行或出现。(其实和子程序差不多,只不过没有参数传递) 这种文件包含有两种途径,虚拟路径或者物理真实路径。下面是后者的示例: <HTML> <HEAD><TITLE>欢迎</TITLE></HEAD> <BODY> <!--#INCLUDE FILE=“mybanner.inc” --> 欢迎进入! </BODY> </HTML> 假如你使用FILE命令来指定物理路径,那么文件必须在当前目录或者子目录下面。本例子中,文件在当前目录下,这样限制就比较多,因此,一般你应当使用虚拟路径命令。 这种文件包容对于任何拓展名都是有效的,一般来说,习惯上用.inc的后缀,但是只要你兴奋 .asp、.htm、.html或者任何其他的后缀都是可以的。 注:当你改变了包含的文件时,并不一定立刻就看到效果,那是因为IIS的缓存,IIS在对正常文件变动的响应要迅捷于对包含文件变动的响应。 在这种场合下,有两种方式处理,一方面是在Internet Service Manager中重新启动一下Server。或者,将包含其他文件的母文件也做一下改动,例如添加一个无意义的空格,那么IIS就会意识到这种变动并且作出准确响应,不过,假如包含变动文件的母文件较多,显然这就成了耗时耗力的工作。 在两种场合下一般需要包含其他文件,一种是有一些十分通用的常用程序段或者脚本,不需要每个ASP文件都写一遍,那么完全可以在每个需要的ASP文件中进行包含就行了(可省了不少劲儿:P)。 另外一种是进行判定后根据条件重定向的场合,例如上面小节的例子,完全也可以利用include语句实现。例如看下面这段例子: <% IF Request.Form(“Username”)=“” THEN %> <!--#INCLUDE VIRTUAL=“regester.asp”> <% Response.End END IF %> <HTML> <HEAD><TITLE>注册结果</TITLE></HEAD> <BODY> 谢谢您、<%=Request.Form(“UserName”)%>的注册! </BODY> </HTML> 这个例子说明它可以和Response.Redirect方式具有同样的作用,当用户没有填写姓名时,会被引导回注册主页,不过,由于这个语句的执行完全在服务端完成,因此基本上不存在浏览器的兼容性问题。 还有很重要的一点必须注重的是,在IIS中对INCLUDE语句的执行是优先于脚本执行的,也就是说,假如把INCLUDE语句放在脚本外面并等待脚本结果来传递参数那么将是行不通的。例如下面这个例子: <% IF Request.Form(“Username”)=“” THEN Myinlcude=“register.asp” ELSE Myinclude=“Homepage.asp” END IF %> <!--#INCLUDE VIRTUAL=“<%=MyInclude%>“ --> 这个脚本就是错误的,因为在IIS中先执行INCLUDE语句而后才是VB脚本的执行。这样,文件”<%=MyInclude%>“自然找不到. 返回类别: 教程 上一教程: 一个用APPLICATION存数组的例子 下一教程: 浅谈ASP自动采集程序及入库 您可以阅读与"包含其他文件,ASP中INCLUDE的介绍"相关的教程: · ASP系列讲座(十四)包含文件 · ASP系列讲座(十四)包含文件 · asp动态include文件 · ASP动态INCLUDE文件 · ASP包含文件方式详解 |
![]() ![]() |
快精灵印艺坊 版权所有 |
首页![]() ![]() ![]() ![]() ![]() ![]() ![]() |