asp动态网页制作技术经验分享
在一个ASP页面的VBscript和Jscript的相互作用
ASP具有管理不同的语言文字的能力,并能自动调用相应的脚本引擎解释执行的脚本代码和内置的功能。ASP发展环境提供了两种脚本引擎,即VBscript和Jscript(默认)。然而,开发商不仅限于这两种语言的使用,和可以使用任何脚本语言,只要适当的ActiveX脚本引擎是可用的。
脚本语言的选择往往是基于不同的原因:它可能是开发人员最熟悉的语言,它可能是最具特色的支持某个特定的项目,或者最有效的一个。环境的不同要求,使我们能够专注于脚本语言的选择,不同的因素,但也使我们在某些时候面对选择的脚本语言无法直接提供其他语言在这个问题上的固有功能,或一个剧本已经写却用另一种脚本语言。
这个时候我该怎么办您需要重写当前脚本语言中的脚本吗或者可以用脚本语言调用其他脚本语言的内置函数吗本文主要讲解的是如何让VBscript和Jscript脚本脚本互动在ASP应用最大化两种脚本语言的功能支持。
一个内置的功能,VBscript和Jscript
在VBscript和Jscript,有大量的内置函数的功能是相同或相似的。然而,在脚本语言中内置的功能并不总是在另一个脚本语言都有相应的功能。例如,VBscript操作字符串和格式化数据提供了许多功能,其中不存在在Jscript。这些功能包括StrReverse()、过滤器(),和formatcurrency()。另一方面,提供的管理功能,Jscript数组,字符串编码等没有被定义在VBscript,如加入()、反(),(),位运算,战俘逃跑()和()unescape。
所以,如果你需要一个VBscript函数在Jscript程序吗
二、不同脚本的相互调用
如果你需要一个内置VBscript函数调用Jscript脚本,你应该写一个用户定义函数(调用VBscript VBscript函数这里),然后在Jscript脚本想叫公共Jscript函数调用用户定义的函数。
例如,如果VBscript内置函数调用formatcurrency(),你可以把下面的自定义功能:
下面提到:
功能formatvalue(价值)
formatvalue = formatcurrency(价值)
端功能
其次,在Jscript代码,你可以叫formatvalue()像普通的Jscript函数。同理,VBscript代码可以调用调用Jscript函数。
按照同样的规则,我们可以调用任何用户在任何脚本定义的功能。但是,我们应该注意调用VBscript过程没有参数(子)从Jscript脚本。在这个时候,我们应该像一个没有任何参数的函数调用Jscript Jscript,如foo调用VBscript foo()子过程。
三。数据共享
这是非常有用的,在某些情况下,使用VBscript和Jscript函数,但它可以分享不同语言文字之间的数据有用。实现这种共享的方式很简单:不管使用的是什么语言,变量是在页级别声明可以任意引用。
使用对象也是类似的,可以选择阅读、修改正确的语言,或调用的对象。当然,一个给定对象的属性和方法,创建对象实例的语言定义的。如上例VBscript的过程调用从Jscript方法调用的时候,不带任何参数VBscript对象,调用方法也遵从Jscript调用规则,反之亦然。
四、数组管理
数组共享的问题有点复杂,虽然数组也可以像其他变量一样在不同的语言脚本中共享,但是要注意兼容性问题。
VBscript数组可以借鉴VBscript,Jscript的象征,在它使用MyArray(2)指的不是Jscript数组元素的数组元素的引用符号MyArray { 2 }。此外,你也可以使用一个特殊的Jscript对象的VBArray对象,转换VBscript数组的Jscript数组。下面的代码创建一个从VBscript数组myvbarray Jscript数组myjsarray:
下面提到:
VaR温度=新的VBArray(myvbarray)
无功myjsarray
myjsarray = temp.toarray()
上面的代码首先创建一个临时的VBArray对象,然后使用toArray()转换成一个Jscript数组的方法。在那之后,你可以用myjsarray像普通Jscript数组,如myjsarray { 1 }。应当指出,然而,toArray()方法将一个多维的VBArray为一个一维的Jscript数组。
它是指从VBscript Jscript数组更复杂。虽然我们可以直接访问Jscript数组在VBscript中的方法和属性,没有直接访问Jscript数组的一个元素,我们可以看到在VBscript脚本Jscript数组的长度属性,如下所示:
x = myjsarray.length
但是阵列不能单元可直接读取,和下面的VBscript代码是不正确的:
myjsarray(x = 3)
这个问题的一个可行的办法是执行一个转换过程,如下面的代码所示,在VBscript是默认的脚本语言。
下面提到:
< %
微弱的温度
昏暗的myvbarray
温度= myjsarray.join(
myvbarray =分裂(温度,
%>
Jscript加入()方法将阵列myjsarray元素用逗号分隔的字符串,和VBscript Split()函数将字符串转换为VBscript数组。请注意,我们的方法在VBscript环境调用Jscript。根据这种情况,我们可以自定义VBscript函数来模拟Jscript的VBArray对象(toArray)转变为VBscript Jscript数组阵列的方法。
用模板构建动态ASP页面
对于模板,我想您可能有一些概念。在Word中,许多模板的设计,您只能填写这些占位符字符与您自己的话。页面相对稳定的部分是固定的,页面的其他部分在不同的情况下输入不同的内容。实际上,Dreamweaver中也有一个模板函数,但是静态的,只手动填充内容,这里是动态的自动填充内容。
首先,让我解释为什么模板文件用于第一。有时候,模板可以给你一个更完整的网络功能和布局的概念。当你看到格式格式的话,你知道最后的布局看起来像,在这里也一样。例如,你可以把ASP语句使用不同的模板来创建不同的页面样式。
这样,你不需要为每个网页不同的风格写不同的ASP页面,可明显节省我们很多时间和精力。此外,模板文件可以为你浏览的页面代码更容易,不必担心ASP和HTML混合使你晕。你可以把你的注意力放在HTML而不是ASP。有一个触摸板很简单,你可以很快的了解绝对定位。在这篇文章中,您将使用一个数据库的一个非常广泛的员工表,包括员工编号、姓名、照片、和工作总结和脚注照片。以下是访问数据库的结构:
一个非常简单的数据库,当然,你可以按需要扩展它。那是你自己的事,我想你知道数据库的基本操作,所以我不需要花太多的墨水和墨水在上面。实际上,这里的代码很简单,只要你知道一些基本的东西,你能理解它。在建立数据库,我们可以开始建立模板文件。该文件的每一页的骨架。我没有使用的表,这是有点麻烦,我很懒,我没有加入标签,因为它被添加到ASP页面。最后,它看起来像这样。
事情就是这样。这是一个简单的模板,保存为template.tmp,将ASP页面的反向引用。要注意的是:我们都可以加入HTML标记的模板,在摸版完全可以定义的结构和风格,就像一个网页的实际写作,只是为了马克的关键所在:注意那些东西了吗这就是模板的本质。也许你已经注意到,这些百分比在数据库中的字段意义上是围绕着。看看下面的ASP代码是如何读取模板和数据库文件,把它们放在一起,然后我们想要导出HTML页面。
这是所有的代码,很简单,不是吗它所做的只是打开模板文件,读到序列中的每一行,然后使用实际值读取数据库中的模板替换为IMG %和%名称标签。此外,它将返回的车在职责领域的大部分为HTML返回,使整个格式不中断。怎么样让我们轻松些。在某些应用程序中,模板确实可以创造奇迹,节省时间。
在理论上,你也可以修改代码,读写文本用FileSystemObject这样数据不会被存储在数据库中。在一些应用中,如即时新闻的发布,它可能会更方便。
以上是asp动态网页制作技术的详细介绍,希望能对您有所帮助。