仓酷云

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

[学习教程] ASP网站制作之ASP 3.0初级编程(十四)

[复制链接]
蒙在股里 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 23:47:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
问题是他们究竟是喜欢他们是使用软件时,速度快还是速度慢好.(当然在3秒以内).无论是他们输入资料时,查找资料时,分析资料时.编程|初级4.3.3实行其他的网页
ASP3.0和IIS5.0的新特征之一就是引进了可编程的服务器端重定向(server-sideredirection)的观点。这意味着,能够把一个网页的把持和实行转到别的一个网页,而不必要在客户端利用Response.Rdedirect办法。
1.客户端重定向带来的成绩
ASP编程职员一般利用Response.Redirect语句把一个页面载进到以后正在实行的网页。但是,很多人没无意识到这条语句不会主动地使服务器当即装进和实行新的网页。其真正做的是把一个HTTP重定向报头(redirectionheader)增添到由Web服务器发送给客户的输入流中。这个报头以下:
HTTP/1.1302ObjectMoved
Locationnewpage.asp
在这个报头中的尺度HTTP形态信息“302ObjectMoved”,告诉扫瞄器所请求的资本已产生挪动。Location报头供应响应的网页地点。固然这个地点纷歧定是实在的,如今正在做的事变就是“棍骗”扫瞄器,使扫瞄器以为可在另外一个地位上找到所必要的网页。实践产生的是,服务器将实行所哀求的网页,可是关照扫瞄器必要的网页已产生挪动。这就是在发送任何页面的内容到扫瞄器之前必需实行Redirect办法的缘故原由。
当一个扫瞄器承受到“302ObjectMoved”信息时,中止以后的哀求并为Location值中指定的网页发送一个新的哀求。这与在网页的<HEAD>段利用一个METAHTTP-EQUIV标志时的事情体例不异,后面给出的HTTP报头还可写为:
<METAHTTP-EQUIV=”REFRESH”CONTENT=”0;URL=newpage.asp”>
因而重定向实践上产生在客户机端,而不是在服务器上。假如在这个毗连的客户端有一个代办署理服务器在利用的话,大概会引发显现子虚动静。这就是在利用Response.Redirect时,“Theobjectyourequestedhasbeenmovedandcanbefoundhere”动静常常在客户机上显现的缘故原由,准确地利用缓冲一般能够避免这个成绩。
在IIS4.0或更早的版本中利用Response.Redirect时,应当在ASP网页的开首翻开缓冲,然后在实行Response.Redirect办法之前挪用Response.Clear。固然,在ASP3.0中网页缓冲的缺省形态为翻开,因而这不成成绩。只需在实行该语句之前利用Response.Clear,之前发生的输入将不会发送给客户。
2.在ASP3.0中服务器真个重定向
在ASP3.0和IIS5.0中,在几近一切情形下,经由过程利用两个新的Server工具办法Execute和Transfer,能够制止利用客户端重定向。这两个办法使把持当即转到另外一个网页,该网页能够是一个ASP网页大概是任何其他的资本,比方一个HTTP网页、紧缩文件或其他范例的文件。
它们之间的分歧的地方是:Execute办法“挪用”另外一个的网页,与在剧本代码中挪用一个子程序或函数十分类似。当另外一个网页或资本已实行终了或传送到客户端时,把持前往到原网页中挪用Execute办法的语句的下一条语句,并持续实行。而利用Transfer办法时,把持不再前往到原页面中,在把持传送到的网页或资本的开端处,实行历程中断。
以后网页的情况也传送给了方针网页或资本,因而这两个办法更有效。网页情况包括了原本的ASP工具中的一切变量的值,比方Request、Response和Session工具的汇合和它们的一切属性。即便该网页不在统一个假造使用程序中,也将传送Application工具的情况。
了局是扫瞄器以为它仍在吸收本来的页面,它其实不懂得服务器所做的事变。扫瞄器的地点栏一向显现不异的URL,而且Back、Forward和Refresh按钮一般地事情。在利用客户端重定向时,特别是利用HTMLMETA元素时,情形一般不是如许的。
传送到新的页面或资本的情况包含一切现存的事件形态(transactionstate)。以后网页的情况用ASP的ObjectContext工具(在第1章中已会商过)举行封装。假如必要将这个工具作为一个正在举行的事件的一部分,能够在传送把持的目标页面中利用这个工具。
(1)Server工具的Execute和Transfer办法的利用
在后面的示例页面中,能够实验利用Excute和Transfer办法。该页面包括了在示例中已供应的另外一个文件名字another_page.asp,它作为这两个办法的缺省参数值,如-13所示:

-13利用Execute和Transfer办法的屏幕
单击Server.Execute和Server.Transfer办法的按钮,提交到此窗体偏重新装载该窗体。在这个页面顶部的剧本代码检察是哪一个按扭被单击。假如是cmdExecute或cmdTransfer按钮,则把以后网页的路径写进到输入流中,然后挪用响应的办法,并传送与该按钮相接洽的文本框中的值,然后再把以后页面的路径写到输入流中。

IfLen(Request.Form("cmdExecute"))Then
strPath=Request.Form("txtExecPath")
Response.Write"Currentlyexecutingthepage:<B>"_
&Request.ServerVariables("SCRIPT_NAME")&"</B><BR>"
Server.Execute(strPath)
Response.Write"Currentlyexecutingthepage:<B>"_
&Request.ServerVariables("SCRIPT_NAME")&"</B><BR>"
EndIf

IfLen(Request.Form("cmdTransfer"))Then
strPath=Request.Form("txtTransferPath")
Response.Write"Currentlyexecutingthepage:<B>"_
&Request.ServerVariables("SCRIPT_NAME")&"</B><BR>"
Server.Transfer(strPath)
EndIf

当单击Server.Excute办法的按钮时,会看到以后页面的路径,这是由下面代码中的第一条Response.Write语句创立并显现的。前面接着的内容是来自被实行的网页(another_page.asp)的一些输入内容。在这以后是第二个Response.Write语句的输入内容,这标明把持又回到了本来的网页,屏幕如-14所示:

-14Server.Excute办法的演示
页面的两条程度线之间的段落(显现以后实行的网页为show_server.asp)来自本来的网页。在接上去的段落来自被实行的网页another_page.asp。上面是该页面的完全代码:
<%@LANGUAGE=VBSCRIPT%>
<HR>
Currentlyexecutingthepage:<B>another_page.asp</B><BR>
Howeverthevalueof<B>Request.ServerVariables("SCRIPT_NAME")</B>isstill<BR>
<B><%=Request.ServerVariables("SCRIPT_NAME")%></B>
becausethe<B>Request</B>collectionshold<BR>
thesamevaluesastheyhadinthepagethatexecutedthi</p>asp,你就只能等着微软给你解决,它不乐意你就只好悲催。而且asp跑在windows服务器上,windows服务器跟linux比起来简直弱爆了!
蒙在股里 该用户已被删除
沙发
 楼主| 发表于 2015-1-20 11:52:02 | 只看该作者
如何学好ASP,以前也有人问过,把回答给你转过来看看能否对你有帮助:
山那边是海 该用户已被删除
板凳
发表于 2015-1-24 05:37:38 | 只看该作者
如何更好的使自己的东西看上去很不错等等。其实这些都不是问题的实质,我们可以在实践中不断提升自己,不断充实自己。
莫相离 该用户已被删除
地板
发表于 2015-1-30 07:44:18 | 只看该作者
它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。
admin 该用户已被删除
5#
发表于 2015-1-31 19:14:24 来自手机 | 只看该作者
不能只是将它停留在纸上谈兵的程度上。
飘灵儿 该用户已被删除
6#
发表于 2015-2-6 21:21:38 | 只看该作者
如何更好的使自己的东西看上去很不错等等。其实这些都不是问题的实质,我们可以在实践中不断提升自己,不断充实自己。
透明 该用户已被删除
7#
发表于 2015-2-18 19:43:23 | 只看该作者
还有如何才能在最短的时间内学完?我每天可以有效学习2小时,双休日4小时。
小魔女 该用户已被删除
8#
发表于 2015-3-6 09:28:39 | 只看该作者
跟学别的语言一样,先掌握变量,流程控制语句(就是ifwhileselect)等,函数/过程,数组
海妖 该用户已被删除
9#
发表于 2015-3-12 23:29:48 | 只看该作者
ASP主要是用好六个对象,其实最主要的是用好其中两个:response和request,就可以随心所欲地控制网页变换和响应用户动作了。
若天明 该用户已被删除
10#
发表于 2015-3-20 05:16:28 | 只看该作者
下载一个源代码,然后再下载一个VBScript帮助,在源代码中遇到不认识的函数或是其他什么程序,都可以查帮助进行解决,这样学习效率很高。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-23 05:50

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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