脚本编程的应用

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

脚本编程Scripting运行脚本对象模型在页面中用鼠标右键单击,在快捷菜单中选择【属性】命令,在【一般】选项卡的【ASP设置】复选框中选择【启用脚本对象模型】复选项,单击【确定】按钮,这样就把脚本对象模型代码加入用户的页面上,使用户能够使用需要脚本对象模型的DTC和其它功能。脚本对象模型的运行机理脚本对象模型的文件被包含在_ScriptLibrary文件夹中。这个文件夹是当你创建工程时,由VisualInterDev自动生成到你的Web工程中的。微软用一套使用活动模板库和C++编写的部件代替组成脚本对象模型的JScript文件。新的脚本对象模型部件可以提供更快的执行速度、更稳定的环境,对服务器来说是一个真正的黑箱结构,不必关心它是如何完成任务的。ASP文件是按照线性方式运行的。当你访问一个ASP文件时,从文件的第一行代码开始按顺序从上到下运行。文件中的代码一旦被运行,所产生的HTML就通过HTTP被送到浏览器。运行流程的改变只能由这个文件的逻辑来控制,可能是调用程序或直接地使运行流程改变。而DHTML文件是按照事件驱动的方式运行的。浏览器的文档对象模型把文件作为对象对待。文件中的脚本依赖文档对象模型执行,使文件功能自动化、动态化。DHTML文件内具有事件过程代码。脚本对象模型可以与DHTML和ASP文件协同工作,它提供了框架,允许ASP和DHTML文件按面向对象的方式执行。ASP文件的事件模型允许你为客户或者服务器内的DTC编写事件。无论你何时使用脚本对象模型,在运行时都要为每个DTC和当前文件创建对象。这些对象是你对文件的属性及其DTC和当前文件创建对象。客户端脚本客户端脚本是嵌在网页中的一段程序。在用户请求这个页面的时候发送到浏览器,并由浏览器进行解释和执行。为用户提供更友好的交互。客户端脚本可以用VBScript编写。它与VisualBasic非常相似。其它的脚本语言还有JavaScript和JScript。网页上的每个元素都是对象,具有自己的属性、事件和方法。客户端脚本可以处理由这些元素产生的事件。例如:脚本可以对键盘、鼠标或文本框的数据产生反应。响应这些事件可以动态地改变网页的内容。客户脚本置于script和/script标记之间。页面可以包含许多脚本块。可以把几个功能代码和子程序放到一个脚本块中。客户脚本是在不同时间进行处理的。事件过程、子过程或函数可以出现在页面的任何地方,不过,通常是把这些脚本放在页面的头部。在你编写客户端脚本的时候,你可以访问页面上的对象,获得对象的属性,或者编写对象的事件处理程序。获得对象属性的语法是:对象.属性。操作对象中方法的语法是:对象.方法。对象的引用可以由一系列子对象组成,每个子对象间用点号分隔。客户脚本可以直接同客户相互作用。服务器端脚本服务器端脚本也是嵌入在网页中的一段程序,但它由服务器进行解释执行。含有服务器端脚本的文件通常是ASP文件。这类文件的扩展名为ASP。客户端页面可以包含服务器脚本。当IIS读到这个页面时,它便查找服务器脚本并处理这个脚本。当ASP文件里的服务器脚本被处理之后,便把这个脚本从文件中去掉,然后再把文件发送给浏览器。浏览器把这个ASP文件作为原来的HTM文件来对待。ASP文件处理的一种特殊情况是Global.asa文件,可以在这个文件中为客户端事件创建服务器脚本,这对保存客户端设置、计数器维护等任务非常有用。当用户在ASP文件中编写服务器脚本的时候,可以包含在分割符%内,这两个标记之间的任何文本作为服务器脚本进行处理。服务器脚本一般不是事件驱动的,在ASP页面被请求时,服务器读取页面并从上到下处理整个服务器脚本。这个脚本完成你编写的计算和数据库访问,并且计算所有表达式和变量。因为服务器脚本在服务器上运行,因而它对服务器上可用的对象拥有访问权,但是服务器脚本却不能使用浏览器中已经有的对象。编写服务器对象的时候,要只使用服务器中可用的对象。使用设计时控件和脚本对象编写脚本在VisualInterDev环境中使用脚本对象模型和文档对象模型的步骤是:从工具箱中拖动一个控件对象到Web页中。使用脚本对象模型提供的背景功能把脚本对象链接在一起。使用文档对象模型的属性对话框设置对象的初始值。使用脚本大纲窗口为对象添加摘要事件处理程序。添加更改某个对象属性的脚本。借助于脚本对象模型和文档对象模型,可以为你的应用创建用户界面,而且与你在VisualBasic中创建窗体所使用的方式相似。改变目标平台如果目标平台是服务器,则把脚本块的RUNAT属性设置为SERVER,如果目标平台是客户端,则没有RUNAT属性。如果你想改变页面的目标平台,必须手动加上或去掉影响脚本块的RUNAT属性。测试脚本对象要在合适的位置测试你的页面。HTML编辑器中的快速浏览视图在本地运行,因而它不处理服务器脚本。所以,如果你的目标平台是服务器,就不会有脚本对象出现在快速浏览视图中,而应使用浏览器从Web服务器查看页面。使用浏览器进行测试,可以在工程资源管理器中,用鼠标右键单击文件名进行测试,选择【在浏览器中浏览】。引用脚本对象和属性在用户的脚本中,你可以使用在创建文档对象模型的时候为脚本对象分配的名字引用脚本对象。你通常可以读写大多数属性,并把它们的的名字加到对象引用上。当你键入脚本对象名字并在后面跟一个圆点的时候,这个属性将显示与用户使用的脚本对象相对应的所有属性和方法。调用方法和功能调用脚本对象的方法对任何脚本都是一样的。响应脚本对象事件每个脚本对象都可以产生一组预先确定的事件。要为脚本对象编写处理程序,就需要使用对象的名字和要处理的事件创建一个过程。你可以使用你的应用程序所使用的浏览器支持的任何语言编写事件处理程序。设计时控件的一个重要特性是你可以根据目标脚本平台的位置,为脚本对象编写事件处理程序。在你单击一个按钮时,事件实际上是在客户端上出现。然而如果你的目标脚本平台是服务器,你在服务器脚本上编写处理程序,响应事件,好像事件在服务器上出现一样。编写事件处理程序首先是捕获事件,然后和其它脚本对象值信息一起,作为邮递内容的组成部分发送出去,然后,在服务器,辅助脚本对象模型过程决定要处理的事件,并调用事件处理程序。在服务器脚本完成的时候,被刷新的页面送回到浏览器中。在服务器脚本中处理事件比在客户端脚本要慢,你必须知道事件处理程序在哪里运行。扩展一个对象的事件每个脚本对象有一组预先确定的可响应事件。但是你可能希望发挥其它事件的优势。这些事件是由浏览器产生的并由你的脚本对象使用的事件。你可以扩展这组对一个对象可用的事件,办法是通告一个事件,或在事件出现的时候登记一个被通告的对象。在用户通告一个事件之后,你可以为这个事件编写事件处理程序,就像你对任何其它对象一样。你可以通过注销事件通告的办法撤消事件通告。每个对象都支持一种通告方法,从而允许你登记特定事件。在用户发出通告的时候,你指定事件名字和一个功能名字。这个功能是在这个事件出现的时候要调用的,实际上是事件处理程序名字。在任何时候用户都可以通告一个事件。通常是在装载一个页面的时候发出通告。对应客户脚本目标平台而言,你为窗口对象的装载事件创建一个处理程序,并在这里调用通告方法。捕获客户端事件如果页面的目标平台是服务器,事件处理程序就作为服务器脚本来执行。然而,在一些实例中,用户可能希望在事件传递给服务器之前先处理客户脚本的事件。捕获事件只在目标平台是服务器的情况下才是有用的。如果事件已经开始在客户端上处理,就不需要捕获这个事件。定义页面的方法在代码编辑器中打开ASP文件。这个页面中必须包含PageObjectDTC和想用的脚本功能。单击DTC,显示PageObjectDTC的属性对话框,从快捷菜单中选择【属性】命令,单击【方法】选项卡,在Navigate方法或Execute方法部分内,根据你需要的方法类型键入你的方法的名称。在输入了方法的名称后,属性页中会显示这个方法。一旦在Navigate方法或Execute方法部分内输入了方法的名字后,这个方法会对其它页面输出。当你用Execute执行一种方法时,执行或者是同步的,或者是异步的。当使用Execute异步地执行一种方法时,你可以传递一个包含回调过程名称的参数。在这个方法完成后,会执行回调过程。回调过程名应该作为参数列表中的最后一个参数。定义页面属性在代码编辑器中打开ASP文件,单击PageObjectDTC显示PageObjectDTC的属性对话框,并从快捷菜单中选择【属性】命令,单击【属性】标签,在【名称】栏中键入属性的名字,选择【作用域】的值,设定属性的作用域,选择客户和服务器访问设置。同步远程过程调用要使远程脚本从客户页面调用一个服务器页面,就要使用页面脚本执行子脚本。执行子脚本返回一个调用对象,是包含返回信息和有关调用过程状态信息的对象。最常用的属性是调用对象的返回值特性,这个属性包含由远程过程计算出来的或查阅出来的单个值。其它调用对象允许你获取远程过程调用状态有关的更多信息。产生异步远程过程调用使用execute对象调用一种方法时,使用“调用对象=PageObject.execute.方法(参数,回调方法)”的语法,其中包含调用返回功能的名字。

1 / 17
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功