仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 353|回复: 8
打印 上一主题 下一主题

[学习教程] ASP网页编程之ASP网页模板的使用: 让程序和界面分别,...

[复制链接]
蒙在股里 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:09:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
缺点:安全性不是太差了,还行,只要你充分利用系统自带的工具;唯一缺点就是执行效率慢,如何进行网站优化以后,效果会比较好。程序|剧本|模板|网页为了不ASP程序和HTML代码混写形成保护坚苦的情形,本文先容了一种办法,使用模板来分别程序和页面,使程序计划加倍轻松。

在利用ASP制造一个站点的时分,经常会呈现一个ASP文件中,程序代码和HTML代码夹杂的情形。如许子做有很多弱点:
1.且不说编程时就要对页面结构举行计划和编排,形成代码凌乱难明,不标准;
2.当必要改动页面表面时,你不但要改动HTML部分,也必要改动ASP代码,不容易保护。

那末,要怎样才干制止这些贫苦呢?
谜底就是利用模板文件,将ASP代码和HTML页面分隔,统统成绩就都办理了。利用模板有以下优点:
1.在很短的工夫内能够交换全部站点的表面;
2.使程序员能够笼统编程,而不必打仗HTML代码;
3.能够反复使用之前的模板。


利用过PHP的程序就会晓得,PHP有个模板程序(FastTemplate),如今的成绩是怎样在ASP中完成相似的功效。
Microsoft的ASP带有两种剧本:VBScript和JScript。它们都带有一个"正则表达式工具"(RegExp),使用字符串工具和RegExp工具,就能够轻松的完成模板功效。沐枫以此编写了一个"Template.JScript.INC"文件,此文件的内容附在文章前面。有才能的读者能够依据本人的必要举行改善。

上面先容一下利用办法。因为此文件是利用JScript编写的(固然要转成VBScript也很简单),因而,缺省剧本言语要设为JScript,即ASP程序第一行应为:<%@Language=JScript%>,然后再包括模板程叙文件:<!--#includefile="Template.JScript.INC"-->。

先先容一下Template类的利用:
1.创建Template工具:Template(Path)
参数:Path(字符串范例)HTML模板文件的寄存路径。
利用new操纵符创建Template工具。

例子:
vartpl=newTemplate("c:        emplate");

在程序中能够用tpl.TplPath来获得模板路径,也能够经由过程tpl.TplPath来改动模板路径。
如:
tpl.TplPath="d:        emplate";

2.装载模板文件:Template.Load(Name,File)
参数:Name(字符串范例)是一个模板变量名。
File(字符串范例)模板文件名。此文件寄存在HTML模板路径下。
读取文件File到模板变量Name中。

例子:
tpl.Load("Main","TEST.HTM");

此时,模板变量Main就包括了文件TEST.HTM的内容。
你能够用tpl.Main来会见模板变量"Main"。

例子:
<%=tpl.Main%>
将显现方才读出去的TEST.HTM文件内容。

3.模板分拆:Template.Split(Name)
参数:Name(字符串范例)是一个模板变量名。
将Name中的子模板分化。

例子:
先假定上例中的TEST.HTM内容为:
-------------------
这是主模板。接上去是:<!--#TPLDEFSUB-->SUB子模板,另有
<!--#TPLDEFTHIRD-->THIRD模板。<!--#TPLENDTHIRD-->
<!--#TPLENDSUB-->
-------------------
那末:
tpl.Split("Main");
实行今后,就会天生新的模板变量"SUB",和"THIRD",它们的内容就是<!--#TPLDEFSUB-->和<!--#TPLENDSUB-->之间语句。
并且"Main"模板变量的内容也会产生改动:

tpl.Main的内容为:"这是主模板。接上去是{SUB}"
tpl.SUB的内容为:"SUB子模板,另有{THIRD}"
tpl.THIRD的内容为:"THIRD模板。"

TPLDEF和TPLEND界说的语句块充很多重嵌套。

4.模板处置:Template.Parse(Name)
参数:Name(字符串范例)是一个模板变量。
将模板顶用花括号括起来的字串用同名的模板变量的内容交换。

例子:续上例
<%=tpl.Parse("Main")%>
显现:"这是主模板。接上去是SUB子模板,另有{THIRD}"

由例子可知,Parse只交换"Main"模板中的{SUB}变量,而不克不及嵌套交换下往。这是为了增添程序天真性而存心计划的。那末该怎样完全显现"Main"模板呢?

例子:
tpl.SUB=tpl.Parse("SUB");//先处置SUB变量,再处置Main变量。
Response.write(tpl.Parse("Main"));

5.自界说模板变量。
自界说模板变量很复杂,能够间接用赋值语句来界说和修正任何变量:

例子:
tpl.Hahaha="这是自界说变量";
tpl.THIRD="改动原模板中的THIRD变量";

必要注重的是,因为JScrip是辨别巨细写的,因而必定要注重巨细写的拼写。一样平常来讲,HTML模板中界说的模板变量都用年夜写。

别的,模板中利用的"TplPath","Load","Parse","Split"变量是外部利用的,不要挪做它用,不然程序将大概产生非常。

上面举个完全的例子:

第一步:先创建Html模板文件。

这里先申明HTML模板文件的构成。起首,它和一般的HTML文件几近没有区分,只不外多了几个标志。
模板的标志有两种。让我们先看一个例子:

TEST.HTM
-----------------
<!--文件名:TEST.HTM-->
<HTML>
<TITLE>典范</TITLE>
<HEADER>
</HEADER>
<BODY>
这是一个表格典范。
<TABLE>
<!--#TPLDEFMAXX-->10<!--#TPLENDMAXX-->
<!--...注重,此处利用了一个技能即界说了MAXX模板变量并赋值为10。-->
<TR>
<TD>X</TD><TD>X的平方</TD>
</TR>
<!--#TPLDEFROW-->
<TR>
<TD>{X}</TD><TD>{XX}</TD>
</TR>
<!--#TPLENDROW-->
</TABLE>
以上共有{COUNT}行数据。
</BODY>
</HTML>
-----------------

从下面能够看出,象{X},{XX},{COUNT}之类的暗号是界说模板变量。它们将会在ASP程序中被替换。
而<!--#TPLDEFROW-->...<!--#TPLENDROW-->是界说一个语句块"ROW"。在ASP程序中就能够将"ROW"块反复屡次。

第二步:计划ASP程序。

TEST.ASP
-------------------</p>我想详细了解ASP整站代码与PSP整站代码有什么优缺点,那个更好,更安全,更用容易维护,和管理。。。
简单生活 该用户已被删除
沙发
发表于 2015-1-18 21:12:47 | 只看该作者
它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。
小妖女 该用户已被删除
板凳
发表于 2015-1-24 19:16:35 | 只看该作者
最近在学asp,不要问我为什么不直接学.net,因为公司网站是asp做的所以有这个需要,卖了本书asp入门到精通,对里面的六大内置对象老是记不住,还有很多属性和方法看的头晕。
小女巫 该用户已被删除
地板
发表于 2015-2-2 13:03:26 | 只看该作者
ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象,这就明显产生以下几个问题:
若天明 该用户已被删除
5#
发表于 2015-2-7 20:58:25 | 只看该作者
还有如何才能在最短的时间内学完?我每天可以有效学习2小时,双休日4小时。
深爱那片海 该用户已被删除
6#
发表于 2015-2-23 11:46:19 | 只看该作者
ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象,这就明显产生以下几个问题:
金色的骷髅 该用户已被删除
7#
发表于 2015-3-7 08:57:35 | 只看该作者
尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性,比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。
老尸 该用户已被删除
8#
发表于 2015-3-14 19:06:03 | 只看该作者
完全不知道到底自己学的是什么。最后,除了教程里面说的几个例子,还是什么都不会。
只想知道 该用户已被删除
9#
发表于 2015-3-21 14:24:19 | 只看该作者
不能只是将它停留在纸上谈兵的程度上。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-24 11:18

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表