中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档 | 网通镜像
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > Web开发 > Asp > 综合文章
remotescript文档(转载自微软)<三>使RemoteScripting在服务器页中有效
作者:佚名 时间:2004-10-08 10:44 出处:互连网 责编:chinaitpower
              摘要:remotescript文档(转载自微软)<三>使RemoteScripting在服务器页中有效
文档: 使 Remote Scripting 在服务器页中有效

除了对客户页进行配置以便于调用远程脚本外,您还必须对自己的服务器页进行配置,以便于对它们进行接收。其做法包括下面这些步骤:

包含 remote scripting 服务器库,并对其进行初始化。


编写客户页能调用的函数或者例程。


将自己的函数和例程显露为方法。
缺省的情况是,客户脚本所调用的某个 ASP 页并不显示在浏览器中──而是简单地在服务器上执行并将结果送到客户端。因此,作为规则,您无需在 ASP 页中包括进任何 HTML 文本,而只需脚本。不过,还是有可能在某个 ASP 页上调用包括 HTML 文本的方法并作正常显示的,只要您初始化了 remote scripting 服务器库,并用下面描述的技巧显露页的方法。

包括并初始化 remote scripting 服务器库

创建服务器端引用 Rs.asp 文件的 INCLUDE 语句,如下例所示:
<!--#INCLUDE FILE="../_ScriptLibrary/RS.ASP"-->


确保为 Rs.asp 文件指定正确路径。INCLUDE 语句可以出现在用户文件的任何位置。

将一个调用插入到RSDispatch方法中,当您从客户脚本调用服务器脚本时,可用该方法找到正确过程。该调用可能看起来如下所示:
<% RSDispatch %>


RSDispatch 调用必须是运行在该页上的第一个服务器脚本。按惯例,典型做法是将其放到文件头部。

在合适的初始化动作中,创建用户将从客户脚本中作为方法调用的函数或者例程。您可以用任何脚本语言书写过程。过程可以接受任意数目的参数,但参数只可以为字符串、数字、日期,或者其他简单数据类型──客户不能将结构化数据(例如,对象或者数组)作为参数。

注意 当您将参数从客户脚本传递到服务器脚本时,它们即被转换为字符串。如果用户期望自己的服务器方法中有不同数据类型,可以在方法脚本内部转换之。

在服务器脚本中创建了过程后,您必须将它们作为方法显露出来。为了达到该目的,您可以创建一个 JavaScript 公共描述对象,并列出用户希望显露的方法。

显露方法

创建一个 public_description 对象,该对象为您的方法指定构造函数。下面的示例命名构造函数为 MyServerMethods:
<SCRIPT LANGUAGE="JavaScript">
   var public_description = new MyServerMethods();


创建您在 public_description 对象中指定的构造函数。在构造函数内部,指定用户希望显露的方法名,以及它们相应的函数或者例程名。用户所使用的语法取决于用户是在 JavaScript 中还是在 VBScript 中创建自己的方法。可使用下面的语法:
functionconstructor(){
   this.methodName = functionName    //对于 JavaScript 方法来说
    // 对于用 VBScript 书写的方法,使用下面的语法
   this.methodName = Function('p1','p2','return functionName(p1,p2)')
}

注意 JavaScript 是大小写敏感的,因此用户必须根据约定正确大写。

其中:

methodName   将被显露的方法名。


functionName   服务器页中实现 methodName 的函数名。


p1, p2  传递给方法的参数列表──如果有参数的话。仅当该方法在 VBScript 中实现时,才能以这种方式显式地声明参数。参数名在构造函数内必须是一致的,但不需要和用户在方法本身中所使用的参数名匹配。用户不需要显式地声明传递给 JavaScript 中所实现方法的参数。
下面的示例显示了一个完整的 ASP 页,该页显露两个方法,square 和 add,这可以从客户脚本中调用。square 方法是在 JavaScript 中实现的,而 add 方法则是在 VBScript 中实现的。

<% RSDispatch %>
<!--#INCLUDE FILE="../_ScriptLibrary/RS.ASP"-->

<SCRIPT RUNAT=SERVER LANGUAGE="JavaScript">
   var public_description = new MyServerMethods();
   function MyServerMethods()
   {
      this.square = squareNumber;
      this.add = Function( 'n1','n2','return addNumbers(n1,n2)' );
   }

   function squareNumber(numberToSquare){
      return numberToSquare * numberToSquare;
   }
</SCRIPT>

<SCRIPT RUNAT=SERVER LANGUAGE="VBScript">
Function addNumbers(num1, num2)
    ' 数据类型发生转换,因为它们作为字符串进行传递
    addNumbers = CInt(num1) + CInt(num2)
End Function
</SCRIPT>




关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有