|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
ASP在国内异常流行,因为国内大多使用的是盗版的Windows和盗版的SQLServer,而ASP+COM+SQLServer实际上也是一种不错的搭配,其性能也不输于PHP+MYSQL,特别是Windows系统和SQLServer都有图形界面,比APACHE和MYSQL易于维护,因此对于不重视知识产权的国家来说也是一种不错的选择。include|静态我们从一个案例谈起:
<%
失掉用户地点的省分
DimProvince
Province=Request.form("Province")
上面显现这个省分相干的信息
%>
<!--#includevirtual="/Province/<%=Province%>"-->
你以为下面的代码能够事情吗?不!复杂地利用ASP来到达静态包括,你不克不及到达你想要的效果。为何?由于:Include命令先于ASP代码而失掉实行,以是,下面的代码并没有依照作者的志愿,先失掉用户地点的省分,再包括这个省分的信息!
假如你的确必要静态包括,你能够如许做:
<%
SelectCaseProvince
Case1:%>
<!--#includefile="1.asp"à
<%Case2:%>
<!--#includefile="2.asp"à
<%Case3:%>
<!--#includefile="3.asp"à
<%EndSelect%>
应当说,这段代码能够失掉你想要的了局。可是,因为你的用户大概来自于33个省,你岂非包括33个文件?出格要申明的是,SSInc.dll是不晓得你事实必要哪一个包括文件的(现实上,这时候候Province还没有值),以是,她把一切的文件都包括出去了!你能够设想,这时候候的文件有多年夜!然后,ASP.DLL会往扫描这个文件中的ASP代码,然后实行!
以是,每当如许的时分,你应当思索其他的思绪,好比数据库,大概接纳FileSystemObject。
如何静态Include文件?
解答
ASP程序员常常面对的最年夜应战之一是静态Include文件。因为#include在ASP代码实行之前处置,以是,看起来,动if/else的头脑是不成能的。
真是如许吗?
依据你利用Include的目标,和你将Include的文件数量,利用if/else大概能够办理成绩。但这相对不是任什么时候候能够见效的,并且也不是一种无效的办理举措,由于你必要做很多的手工事情。
假定有两个样本HTM文件,1.htm和2.htm,为简化起见,假定文件的内容以下:
<!--1.HTM:-->
<fontcolor=#ff0000>Thisis1.htm</font>
<!--2.HTM:-->
<fontcolor=#0000ff>Thisis2.htm</font>
如今我们来尝尝静态Include:
<%
ifrequest.querystring(‘param‘)=‘2‘then
%>
<!--#includefile=‘2.htm‘-->
<%
else
%>
<!--#includefile=‘1.htm‘-->
<%
endif
%>
请注重:下面的两个#include实践上都失掉了处置。你能够实践运转一下,看看效果:http://localhost/Test.asp?param=1
http://localhost/Test.asp?param=2
http://localhost/Test.asp
下面我们是把一个querystring作为前提。你还能够把工夫、日期、扫瞄器版本等作为前提。可是,前提越庞大,这类办法的效力越差。上面供应了别的一种思绪:
<%
ifrequest(‘param‘)=‘2‘then
filespec=‘2.htm‘
else
filespec=‘1.htm‘
endif
filespec=server.mapPath(filespec)
scr=‘scripting.fileSystemObject‘
setfs=server.createobject(scr)
setf=fs.openTextFile(filespec)
content=f.readall
setf=nothing
setfs=nothing
response.write(content)
%>
在IIS5.0/ASP3.0中,有两种新的办法来撑持“静态包括”:
<%
server.transferfilename
server.executefilename
%>
假如恰好利用的是IIS5.0和ASP3.0,那末Ok!可是IIS5.0必要运转在Windows2000上。
</p>因为ASP脚本语言非常简单,因此其代码也简单易懂,结合HTML代码,可快速地完成网站的应用程序。还无法完全实现一些企业级的功能:完全的集群、负载均横。 |
|