萌萌妈妈 发表于 2015-1-16 23:40:05

ASP网站制作之一个asp模板类

Access是一种桌面数据库,只适合数据量少的应用,在处理少量数据和单机访问的数据库时是很好的,效率也很高。但是它的同时访问客户端不能多于4个。access数据库有一定的极限,如果数据达到100M左右,很容易造成服务器iis假死,或者消耗掉服务器的内存导致服务器崩溃。模板一个从类到实例都有的模板的例子
这个类另有良多不完美(好比效力),但愿人人配合切磋,妙手多多斧正。
-----------------------------------------------------------------------
起首先容asp中的类:
Class工具,请求版本5。
像一些面向工具的言语一样,asp中也供应类的撑持,不外功效上不完美。
关于本类中利用的加以申明:
Initialize事务:在创立类的实例时产生此事务。

PrivateSubClass_Initialize()
语句
EndSub


此事务相似于c++中的机关函数,用来机关一个工具,本类中初始化了一些类的属性。
怎样创立一个实例呢?

DimX
SetX=Newclassname


此时X已是经由Class_Initialize历程的一个工具了。
在类中界说的函数(历程),就叫做类的办法。
详细细节可参考:
mytju.com/classFiles/TJU001/vbs5.5.chm
-----------------------------------------------------------------------
先容模板手艺:

人人写程序的时分(好比留言板),是否是都履历过轮回+表格的体例呢?
如许写出的程序,既可读性差,又难于保护代码。
好比,今后要变动表格的色彩,大概改动页面结构(好比改动留言显现地位),
大概一切的代码都要重写(留言板固然不会,年夜的旧事体系就贫苦了)。
而模板手艺的目标就是把:
体现层(页面)与逻辑层(代码)分隔。
这是一个页面文件(就是模板):

上面是经由代码文件剖析过的效果:

大概你会问,这又如何呢?不是更贫苦了么?
大概在早期编写,会增添周期,但是,前期只需你把模板文件改换一下,就是一个
全新的了局了!而这个历程,asp的vbs剧本文件是完整不需修正的。
更进一步:下面的剖析历程,是经由过程你编写的vbs来把持的,如许(实际上)就能够剖析成
任何范例的文件,只需有模板!
如许你想到甚么呢?对,新浪你也能作了!(夸大修辞)之前做旧事体系时,
news.asp?id=xxx(经由过程旧事ID读取旧事)的时期就能够停止了,你能够天生静态页面:
2004090618.htm。
言回正传,说模板手艺:
模板手艺复杂说就是把[模板文件]内里的待交换的变量(此处是用{}包括的内容),
交换成你所必要显现的内容。
一般的变量交换很简单:你只需懂得FSO的操纵(告白秀:cnbruce有个asp教程,有具体解说)
就不难,把模板文件的内容全体读取,然后对个中要交换的‘标志’举行交换(replace())就能够
完成效果。
而模板手艺中心的器材应当是关于轮回的处置:
之前看到的一些手艺,是接纳自界说一个标签,然后在标签中到场决意轮回的
一些变量,好比称号、次数。
团体以为如许大概违反了模板的初志--体现层与逻辑层分别
并且正则的效力也不敢奉承。
关于轮回的次数,应当完整由代码来把持,而不是要制造页面职员(美工)来增加。
以是我接纳设置区块的头脑:(自创自php)
把欲轮回的页面代码,作为一个Block,全部block再作为页面的一个变量来处置。

见下图:

必要做的就是到场一个html的正文(相似于下面说得标签)
而在代码部分:(tp为类的一个工具,set_block,set_bvar是类的一个办法)

关于轮回的处置体例

tp.set_block"b"设置区块,对应图中的blockb
fortmpc=1to10设置轮回次数,能够依据程序而定
tp.set_bvar"t1","alax"&tmpc剖析区块中的变量
tp.set_bvar"t2","proa"&tmpc
tp.set_bvar"t3","hotsjf"&tmpc
tp.prase_block(10-tmpc)把区块作为变量来看,剖析全部区块
next



必要实例的能够下载这个。
www.7csky.com/user/hotsjf/hottemplate.rar
运转test.asp便可看到接纳t.htm为模板的效果。
效果演示点这:
代码文件:
202.4.136.222:802/test.asp
模板文件:
202.4.136.222:802/t.htm


以后的事变,就是对已交换了全体标志的模板内容显现了。
显现能够间接将内容response.write
也能够同FSO,将内容写成文件,这时候就能够天生其他范例的文件(比方.htm)。


感谢人人多多提定见。

复杂总结模板的特性:
体现层与逻辑层分隔,页面职员不需思索逻辑部分。
区块(block)的头脑,办理asp中简单形成页面与代码交织的部分。
带有缓存功效,加速文件天生速率。
==



模板代码:援用请保存信息,感谢。
类:hotTemplat.asp

<%
======================================
hotTemplate
byhotsjf
2004.7.28
sjf008@tom.com
somerightsreserved
======================================

OnErrorResumeNext

ClasshotTemplate
classmember

dimfile

dimvar_key(50)
dimvar_val(50)
dimvar_num

dimbvar_key(50)
dimbvar_val(50)
dimbvar_num

dimblock_name
dimblock_content
dimnew_block

dimdebug
dimclear_unknown_tag

dimbeginBlockStart

dimbeginBlockEnd

dimendblockStart

dimendBlockEnd

dimvarBegin
dimvarEnd


-------------------------------------------------------------------
初始化
PrivateSubClass_Initialize
var_num=0
bvar_num=0
debug=false
beginBlockStart="<!--beginblock"
beginBlockEnd="-->"
endblockStart="<!--endblock"
endBlockEnd="-->"
varBegin="{"
varEnd="}"
file=""
clear_unknown_tag=true
ifdebugthen
response.write("inClass_Initialize()<br>")
endif

EndSub
-------------------------------------------------------------------
加载模板文件
Publicfunctionloadfile(filename)
Setfso=CreateObject("Scripting.FileSystemObject")
Setf=fso.OpenTextFile(server.mappath(filename),1)
iferr.number>0then
exp_msg("nofilematched!")
endif
file=f.ReadAll
writeintocache
Application.Lock
Application("hot_tp"&filename)=file
Application.Unlock
ifdebugthen
response.write("i</p>写软件都是想的时间比写的时间要长的.如果反过来了就得看看是什么原因了.另外大家可以回去问问公司里的小MM.(一般企业里,跟你们交付软件接触得最多的是她们)

乐观 发表于 2015-1-20 10:54:53

学习是为了用的,是为了让你的程序产生价值,把握住这个原则会比较轻松点。除此之外,课外时间一定要多参加一些社会实践活动,来锻炼自己的能力。

老尸 发表于 2015-1-25 07:51:11

学习是为了用的,是为了让你的程序产生价值,把握住这个原则会比较轻松点。除此之外,课外时间一定要多参加一些社会实践活动,来锻炼自己的能力。

再见西城 发表于 2015-2-5 02:31:08

哪些内置对象是可以跳过的,或者哪些属性和方法是用不到的?

简单生活 发表于 2015-2-11 01:29:09

以HTML语言整合(HTML负责界面上,ASP则负责功能上)形成一个B/S(浏览器/服务器)模式的网页程序。

飘飘悠悠 发表于 2015-3-1 19:20:41

尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性,比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。

活着的死人 发表于 2015-3-10 22:25:35

学习是为了用的,是为了让你的程序产生价值,把握住这个原则会比较轻松点。除此之外,课外时间一定要多参加一些社会实践活动,来锻炼自己的能力。

不帅 发表于 2015-3-17 11:10:46

那么,ASP.Net有哪些改进呢?

深爱那片海 发表于 2015-3-24 08:45:37

ASP的语言不仅仅只是命令格式差不多,而是包含在<%%>之内的命令完全就是VB语法。虽然ASP也是做为单独的一个技术来提出的,但他就是完全继承了VB所有的功能。
页: [1]
查看完整版本: ASP网站制作之一个asp模板类