ASP动态网页制作技术经验分享
学好一门编程语言有两个必要条件。一是理论与实践相结合。在实践套路中验证书中的理论,可以加深对理论的理解;第二,学会总结,把学习和应用中的经验写下来,提炼为一种经验或教训,在以后的应用中加以完善,一定会提高你对这种编程语言的理解。以下是笔者学习和使用ASP编程的两点体会,希望对大家有所帮助。
ASP页面中VBScript和JScript的交互。
ASP具有管理不同语言的脚本程序的能力,并且可以自动调用适当的脚本引擎来解释脚本代码和执行内置函数。ASP开发环境提供了两个脚本引擎,即VBScript(默认)和JScript。但是,开发人员并不局限于使用这两种语言,只要能提供合适的ActiveX脚本引擎,他们可以使用任何脚本语言。
脚本语言的选择通常基于许多不同的原因:它可能是开发人员最熟悉的语言,可能为给定的项目提供最具特色的支持,也可能是最高效的。不同的环境和需求使得我们在选择脚本语言时关注的因素不同,同时也面临着所选择的脚本语言无法直接提供其他语言固有的功能,或者一个脚本已经写好但使用了另一种脚本语言的问题。
我现在该怎么办?您需要用当前的脚本语言重写这些脚本吗?还是可以用一种脚本语言调用其他脚本语言的内置函数?本文是关于如何在ASP应用程序中使VBScript脚本和JScript脚本交互,以最大限度地发挥这两种脚本语言的特性支持。
1.VBScript和JScript的内置函数。
在VBScript和JScript中,有很多相同或相似的内置函数。然而,一种脚本语言中的内置函数在另一种脚本语言中并不总是具有相应的功能。例如,VBScript提供了许多操作字符串和格式化数据的函数,而这些在JScript中是不存在的。函数包括StrReverse(),Filter()和FormatCurrency()。另一方面,JScript提供的用于管理数组和字符串编码的函数在VBScript中没有定义,例如join()、reverse()、pow()、bit operation、escape()和escape()。
那么,如果我的JScript程序中需要一个VBscript函数,该怎么办呢?
第二,异构脚本相互调用。
如果需要在JScript脚本中调用VBScript内置函数,应该先编写一个VBScript用户定义函数(这里调用VBScript内置函数),然后在JScript脚本中调用这个用户定义函数,就像调用公共JScript函数一样。
例如,如果要调用的VBSCript内置函数是FormatCurrency(),则可以声明以下自定义函数:
以下是参考资料:
脚本语言=' VBScript' runat=' server '函数FormatValue(值)formatvalue=formatcurrency(值)endfunction/script,那么formatvalue()就可以像普通的JScript函数一样在JScript代码中调用。同理,VBScript代码也可以调用JScript函数。
应用相同的规则,我们可以在任何脚本中调用任何用户定义的函数。但是,在调用没有JScript脚本中的参数的VBScript过程(Sub)时,需要注意一点。此时应该像调用JScript中没有参数的JScript函数一样调用,比如用foo()调用VBScript Sub foo过程。
第三,数据共享。
在某些情况下,混合使用VBScript和JScript函数非常有用,但是在不同语言的脚本之间共享数据可能也很有用。实现这种共享的方法很简单:无论使用什么语言,在页面级声明的变量都可以随意引用。
使用对象的方法类似,您可以选择任何适当的语言来读取、修改属性或调用对象的方法。当然,给定对象的属性和方法是由创建对象实例的语言定义的。就像上例中VBScript的过程调用一样,从JScript中调用不带参数的VBScript对象的方法时,调用方法也遵循JScript的调用规则,反之亦然。
第四,阵列管理。
数组共享的问题稍微复杂一点。虽然数组可以像其他变量一样在不同语言的脚本之间共享,但是必须注意兼容性。
在JScript中,VBScript数组可以被VBScript符号引用,即myArray(2)用来引用数组元素,而不是myArray[2]。此外,可以使用一个特殊的JScript对象——VBArray对象将VBScript数组转换为JScript数组。下面的代码从VBScript数组myVBArray创建JScript数组myJSArray:
以下是参考资料:
temp=new VBArray(my VBArray)var myjsarray myjsarray=temp。toarray()上面的代码首先创建一个临时的vbarray对象,然后使用它的toArray()方法将自己转换成一个JScript数组。此后,myJSArray可以像普通的JScript数组一样使用,比如myJSArray[1]。但是,需要注意的是toArray()方法会将多维VBArray转换为一维JScript数组。
从VBScript中引用JScript数组更复杂。虽然我们可以在VBScript中直接访问与JScript数组相关的方法和属性,但是没有方法可以直接访问JScript数组的各个元素。也就是说,我们可以在VBScript脚本中读取JScript数组的长度属性,如下图所示:
X=myJSArray.length,但不能直接读取数组的单个元素。以下VBScript代码不正确:
X=myJSArray(3)解决这个问题的一个可行方法是执行一个转换过程,如下面的代码所示,其中VBScript被认为是默认的脚本语言:
以下是参考资料:
% dim temp dimmy vbarraytemp=myJSArray。join(',')myvbarray=split (temp,',')%此处的JScript join()方法将数组myjsarray元素转换为用逗号分隔的字符串,VBScript Split()函数将该字符串转换为VBScript数组。注意,我们是在VBScript环境中调用JScript的join方法。根据这个例子,我们可以通过自定义VBScript函数来模拟JScript VBArray对象的toArray()方法,实现JScript数组到VBScript数组的转换。
使用模板创建动态ASP页面。
至于模板,我想大家可能都有一些概念。许多模板都是用word设计的,所以你只需要用自己的单词来填充这些占位符。这里的模板大概就是这个意思。页面相对稳定的部分是固定的,其他部分是根据不同的情况输入不同的内容。其实DreamWeaver也有模板的功能,但是静态的只能手动填写内容,这里说的是动态和自动的内容填写。
首先,让我解释为什么使用模板文件。有时候,模板可以让你对网页的功能和布局有一个更完整的概念。当你看到Word的模板格式时,你就会知道最终的布局是什么样子的,这里也是如此。例如,您可以保留ASP语句,并使用不同的模板来创建不同的页面样式。
这样就不用为每一种不同风格的网页编写不同的ASP页面,显然为我们节省了大量的时间和精力。而且模板文件可以让你更容易浏览页面代码,不用担心ASP和HTML的混淆。你可以只关注HTML而不是ASP。还有,触控面板很简单,你很快就能看懂。在本文中,我们将使用数据库——,一个广泛使用的雇员表。包括员工ID、姓名、照片以及工作总结和照片的脚注。以下是此Access数据库:的结构。
一个非常简单的数据库,不是吗?当然,你可以根据需要扩展,那是你自己的事。我想你已经知道了数据库的基本操作,所以我不需要在上面花太多的笔墨。其实这里的代码很简单,只要知道一些基本的东西,就可以理解。建立数据库后,我们可以开始建立模板文件。这个文件是每一页的框架。没有用表格,有点麻烦,比较懒。此外,我不需要添加标签,因为它将被添加到ASP页面。最后,看起来是这样的:
就这样!这是一个简单的模板。将其保存为template.tmp,这将在以后的ASP页面中引用。注意:我们可以在模板中添加各种HTML标签,你可以在模板中定义网页的结构和样式,就像实际写网页一样,只需要标记关键的地方。你注意到那些被%包围的东西了吗?这就是模板的本质。您可能已经注意到,那些%圆圈对应于数据库中字段的含义。看看下面的ASP代码,如何读入模板和数据库文件,把它们揉合在一起,然后输出我们想要的HTML页面。
这就是全部代码。很简单,不是吗?它所做的只是打开模板文件,依次读取每一行,然后用数据库中读取的实际字段值替换模板中的%img%、%name%标记。而且还将“duty”字段中一大段文字中的回车解释为HTML中的回车,以免打乱整个排版格式。最近怎么样?放轻松。模板在某些应用程序中确实能创造奇迹,节省时间和精力。
理论上,您也可以修改这段代码,并使用FileSystemObject来读写文本,这样数据就不必存储在数据库中。在某些应用程序中,如即时新闻发布,这可能更方便。
以上是对ASP动态网页制作技术的详细介绍,希望对大家的学习有所帮助。
版权声明:ASP动态网页制作技术经验分享是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。