您的位置:首页网页设计ASP实例 → 关于页面局部刷新例程

关于页面局部刷新例程

时间:2004/11/7 2:51:00来源:本站整理作者:蓝点我要评论(0)

        RS技术的一个具体例子

    在前面的帖子中,我介绍了RS的基本工作原理,显然如果将RS技术运用在一个

网站的设计中将会有很多非凡的作用(尤其是它的那个最大的优点,可以在不刷新

页面的情况下调用服务端的代码)。正是因为这个特点,你就可以象在编写一个

传统的C/S模式的程序一样,对数据库的数据进行处理了(我想大家一定很想知道具体应该如何来实现了,下面将给出一个具体的例子,调试这个破程序几乎快把我给累死,呵呵。)

    从前面的描述可以看到,要使用RS技术就需要客户端和服务端满足下面两个条件:

1。客户端只需要支持Java applet即可

2。而服务端只需要支持ASP即可

换句话说,就是RS技术是完全独立与浏览器的(当然浏览器至少需要满足支持Java

和JavaScript),你可以在IE中使用,也可以完全在

NC中使用,这也是区别与RDS技术的一个显著特点。

    在能够灵活运用RS技术前,先要说明一个问题,就是前面也曾经提到过的“异步调用”

的问题。也正是因为有异步调用,才能够实现你只刷新页面的某一部分而不用刷新

整个页面。

    由于它的这个特点,你可以让服务端来实现在你浏览页面的同时

对你输入数据的合法性检查(当然这可以是一系列很复杂的合法性检查,例如需要

将用户输入的数据和数据库内已有的数据进行对比等,这个可不是客户端的JS能够解决的)

然后当服务端返回检查结果后,你再进行相应的操作(例如弹出一个对话框告诉用户

输入出错等等)

异步调用时的语法如下:

RSExecute(serverURL, functionname, param_list)

第一个参数是你想调用的asp页面的完整的URL路径

第二个参数是你想调用函数的名称

后面的就是该函数需要的输入参数了

    如果你想调用的函数需要两个输入参数的话,就是这样的写法:

RSExecute(serverURL, functionname, f_arg_1, f_arg_2)

当进行调用时有两种写法,

    一种是有返回结果的调用方式:

    objResult = RSExecute(serverURL, functionname, f_arg_1, f_arg_2);

    另外一种则是没有返回结果的调用方式:

    RSExecute(url, func_name, f_arg_1, f_arg_2, CallbackFunction);

这种调用方式要特别的注意,其中的CallbackFunction是客户端的一个JS函数

它表示一但RS执行完毕服务端上的调用,就会马上调用这个函数,并把结果返回到这个

函数中去。

    一个典型的CallbackFunction函数应该是这样的结构:

function CallbackFunction(objResult) {

//你自己的处理过程

}

其中唯一的输入参数objResult就是RS调用的返回值.

    下面我们假设这样一种情况:

    用户在浏览器中输入了用户的e-mail地址,然后用户离开了e-mail地址输入框

进入接下来的输入过程,这个时候就是RS该上场了,它根据用户输入的地址在

服务端的数据库中查询这个地址,就可以判断出这个用户是否已经存在,然后

把结果返回给客户端,在客户端再使用DHTML技术在一个叫"ShowResult"的输入框

里面提示用户以前输入的信息。

function CallbackFunc(objResult) {

   // 提示用户的信息

   window[objResult.context].value = objResult.return_value;

}

而RSExecute()应该这么调用

RSExecute(serverURL, functionname, f_arg_1, CallbackFunc, "ShowResult");

    不说了,不说了,上面罗嗦了这么多,我想大家也都看得头大了,下面还是

让具体的代码来发言把:

(请在使用代码前在你的服务器上建立一个叫NW的系统DSN文件,该文件使用了

Northworld即中文ACCESS97自带的示例数据库)

    下面的例子是这么进行的,default.htm中分为两祯,在

main.html页面中使用了RS技术,大家可以注意到在main.html中没有使用到submit

所以如果你在该页面中直接敲回车键的话什么都不会出现,你必须通过鼠标单击

那个"获取信息"按扭来使用这个局部页面刷新技术。在单击完该按扭后,页面会有

一段小小的延迟(这段时间内java applet在后台建立了和服务端的连接)

然后马上页面回复正常的鼠标,你可以在该页面中继续进行其他的操作。

而不必象普通页面刷新时,你只有等待数据。

而info.asp大家一眼就能够看明白,其实就是一个很简单的处理字符串的程序。

如果大家要是对DHTML技术熟悉的话,完全可以在客户端完成这些操作。

至于EmpData.asp就是服务端处理数据的程序了。

好了,其中的好处大家可以自己去

体会。



特别注意,不要改变太多代码,不然很容易出错,毕竟是在使用JavaScript编程



Default.htm文件代码如下:





RS技术的实现例子





  

  







Maim.html文件代码如下





RS技术的实现例子









雇员信息








请输入你想查询的名字:





       value="获取信息"

       onclick="execAsynch(empLastName.value)">
















info.asp文件代码





<%

Response.Write Request.ServerVariables("REMOTE_USER")



    strText = Request.QueryString("info")

    If strText = "" Then Response.End

        arrData = split(strText, "|")

        arrLabels = split("职工,头衔,城市,雇佣日期", ",")

%>



<%

    for i=0 to 3

        Response.Write ""

        Response.Write ""

        Response.Write ""

    next

%>

" & arrLabels(i) & "" & arrData(i) & "








EmpData.asp文件

<%@ LANGUAGE=VBSCRIPT %>

<% RSDispatch %>






相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么

文章评论
发表评论

热门文章 没有查询到任何记录。

最新文章 迅雷新手完全入门手册 asp下面javascript上传图片限制格式大小方法告诉大家网页弹出窗口应用总结ASP常见错误类型大全asp常见错误分析和解决办法

人气排行 总是弹出visual studio 实时调试器 三种解决SQLSERVER存储过程及调用详解Asp获取真实IP地址ASP中连接Mssql的几种方法一个简单好用的UBB编辑器(含代码)如何用Split将字符串转换为数组并获取数组下ASP防止表单重复提交的办法告诉你免费的简单聊天室源代码