仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 382|回复: 8
打印 上一主题 下一主题

[学习教程] ASP教程之关于页面部分革新例程

[复制链接]
活着的死人 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:27:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
asp可以轻松地实现对页面内容的动态控制,根据不同的浏览者,显示不同的页面内容。而浏览者一点觉察不出来,就像为他专门制作的页面一样。使用各种各样的组件,asp可以完成无比强大的功能。RS手艺的一个详细例子
在后面的帖子中,我先容了RS的基础事情道理,明显假如将RS手艺使用在一个
网站的计划中将会有良多不凡的感化(特别是它的谁人最年夜的长处,能够在不革新
页面的情形下挪用服务真个代码)。恰是由于这个特性,你就能够象在编写一个
传统的C/S形式的程序一样,对数据库的数据举行处置了(我想人人必定很想晓得详细应当怎样来完成了,上面将给出一个详细的例子,调试这个破程序几近快把我给累逝世,呵呵。)
夙昔面的形貌能够看到,要利用RS手艺就必要客户端和服务端满意上面两个前提:
1。客户端只必要撑持Javaapplet便可
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函数应当是如许的布局:
functionCallbackFunction(objResult){
//你本人的处置历程
}
个中独一的输出参数objResult就是RS挪用的前往值.
上面我们假定如许一种情形:
用户在扫瞄器中输出了用户的e-mail地点,然后用户分开了e-mail地点输出框
进进接上去的输出历程,这个时分就是RS该上场了,它依据用户输出的地点在
服务真个数据库中查询这个地点,就能够判别出这个用户是不是已存在,然后
把了局前往给客户端,在客户端再利用DHTML手艺在一个叫"ShowResult"的输出框
内里提醒用户之前输出的信息。
functionCallbackFunc(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
以是假如你在该页面中间接敲回车键的话甚么都不会呈现,你必需经由过程鼠标单击
谁人"猎取信息"按扭来利用这个部分页面革新手艺。在单击完该按扭后,页面会有
一段小小的提早(这段工夫内javaapplet在背景创建了和服务真个毗连)
然后即刻页面复兴一般的鼠标,你能够在该页面中持续举行其他的操纵。
而不用象一般页面革新时,你只要守候数据。
而info.asp人人一眼就可以够看分明,实在就是一个很复杂的处置字符串的程序。
假如人人如果对DHTML手艺熟习的话,完整能够在客户端完成这些操纵。
至于EmpData.asp就是服务端处置数据的程序了。
好了,个中的优点人人能够本人往
体味。

出格注重,不要改动太多代码,否则很简单堕落,究竟是在利用JavaScript编程

Default.htm文件代码以下:
<HTML>
<HEAD>
<TITLE>RS手艺的完成例子</TITLE>
</HEAD>
<FRAMESETid=fsetrows="70%,30%">
<FRAMEname=mainsrc="main.html">
<FRAMEname=infosrc="info.asp">
</FRAMESET>
</HTML>

Maim.html文件代码以下
<HTML>
<HEAD>
<TITLE>RS手艺的完成例子</TITLE>
</HEAD>
<BODY>
<scriptlanguage="JavaScript"src="http://YourServer/_ScriptLibrary/rs.htm"></script>
<scriptlanguage="JavaScript">
RSEnableRemoteScripting("http://YourServer/_ScriptLibrary");
</script>
<h1>雇员信息</h1>
<hr>
<formname=MyForm>
请输出你想查询的名字:
<br><inputtype=textname="empLastName"size=40>
<inputtype=buttonname=btnExecutestyle="width=150"
value="猎取信息"
>
</form>
<hr>

<SCRIPTLANGUAGE="javascript">
varserverURL="http://YourServer";
varpageURL="/batman/EmpData.asp";

functionrefreshPage(co)
{
if(co.status!=0){
alert("产生非常毛病
"+
message);
}
strText=co.return_value;
top.info.location="info.asp?info="+escape(strText);
}
functionexecAsynch(empLastName)
{
RSExecute(serverURL+pageURL,"GetEmpInfoAsArray",
empLastName,refreshPage);
}
</SCRIPT>
</BODY>
</HTML>

info.asp文件代码
<HTML>
<BODY>
<%
Response.WriteRequest.ServerVariables("REMOTE_USER")

strText=Request.QueryString("info")
IfstrText=""ThenResponse.End
arrData=split(strText,"|")
arrLabels=split("职工,头衔,乡村,雇佣日期",",")
%>
<tableborder=0>
<%
fori=0to3
Response.Write"<tr>"
Response.Write"<td><b>"&arrLabels(i)&"</b></td>"
Response.Write"<td><i>"&arrData(i)&"</i></td>"
next
%>
</table>
</BODY>
</HTML>

EmpData.asp文件
<%@LANGUAGE=VBSCRIPT%>
<%RSDispatch%>

<SCRIPTRUNAT=SERVERLanguage=javascript>
<!--#INCLUDEVIRTUAL="/_ScriptLibrary/RS.ASP"-->

functionDescription()
{
this.GetEmpInfoAsArray=DoGetData;
}
public_description=newDescription();


functionDoGetData(empName)
{
sql="select*from雇员where[名字]="+empName+"";
rst=newActiveXObject("ADODB.Recordset");
rst.CursorLocation=3;

rst.Open(sql,"NW");
i=0;
strText="";

if(rst.RecordCount==1){
strText+=rst.Fields("雇员ID").Value+"-"+
rst.Fields("尊称").Value+""+
rst.Fields("姓氏").Value+""+
rst.Fields("名字").Value;
strText+="|";
strText+=rst.Fields("头衔").Value;
strText+="|";
strText+=rst.Fields("乡村").Value+""+
rst.Fields("区域").Value+","+
rst.Fields("国度").Value;
strText+="|";
d=newDate(rst.Fields("招聘日期").Value);
strText+=(1+d.getMonth())+"/"+d.getDate()+"/"+d.getYear();
}
returnstrText;
}
</SCRIPT>
使用cdonts,可以发送、查看邮件,实现webmail的功能。结合wsh,可以实现对nt主机的管理,如nt用户管理、iis虚拟主机设置、exchange邮箱设置等等,就像管理本地机一样方便。
再见西城 该用户已被删除
沙发
发表于 2015-1-19 13:28:47 | 只看该作者
Response:从字面上讲是“响应”,因此这个是服务端向客户端发送东西的,例如Response.Write
兰色精灵 该用户已被删除
板凳
发表于 2015-1-25 16:11:22 | 只看该作者
如何学好ASP,以前也有人问过,把回答给你转过来看看能否对你有帮助:
精灵巫婆 该用户已被删除
地板
发表于 2015-2-3 07:07:16 | 只看该作者
我就感觉到ASP和一些常用的数据库编程以及软件工程方面的思想是非常重要的。我现在也在尝试自己做网页,这其中就用到了ASP,我想它的作用是可想而知的。
分手快乐 该用户已被删除
5#
发表于 2015-2-8 20:02:19 | 只看该作者
Response:从字面上讲是“响应”,因此这个是服务端向客户端发送东西的,例如Response.Write
再现理想 该用户已被删除
6#
发表于 2015-2-26 02:53:57 | 只看该作者
弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。
山那边是海 该用户已被删除
7#
发表于 2015-3-8 11:33:11 | 只看该作者
运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写,使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行。
透明 该用户已被删除
8#
发表于 2015-3-15 22:24:45 | 只看该作者
学习ASP其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编程思想。比如ASP如何学习,你也许在以前的学习中碰到过。以下我仔细给你说几点:
活着的死人 该用户已被删除
9#
 楼主| 发表于 2015-3-22 17:09:47 | 只看该作者
另外因为asp需要使用组件,所以了解一点组件的知识(ADODB也是组件)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-9-22 05:27

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表