ASP网页编程之ASP 3.0初级编程(三十二)
因为ASP脚本语言非常简单,因此其代码也简单易懂,结合HTML代码,可快速地完成网站的应用程序。还无法完全实现一些企业级的功能:完全的集群、负载均横。编程|初级7.2.4客户端剧本毛病到今朝为止,我们已懂得了来自ASP的毛病。但是ASP也常常用于创立包括客户端剧本的网页。假如包括客户端代码的<SCRIPT>元素没有被设置成RUNAT="SERVER"属性,ASP将不思索服务器,而把网页信息不加改动地传送到客户端。
因而,假如翻开了一个ASP网页,而且显现的是一个扫瞄器毛病对话框,就不该该在服务器端寻觅ASP程序代码的毛病。扫瞄器看不到ASP程序代码,以是不克不及辨认任何毛病,假如有一个对话框呈现在客户端,那末在客户端代码中一定有一个毛病。
1.语法毛病
假如在网页中的客户端程序代码有语法毛病的话,当剧本下载到客户端,扫瞄器便会呈现响应的毛病。只管网页中内容仍可一般载进(除非由这些客户端剧本代码静态装进),但网页中断实行。用户将看到一个包括毛病细节的对话框,大概是一个唆使网页包括毛病的形态条动静。
古代扫瞄器趋势于埋没网页剧本毛病的细节,而仅在形态条上显现一个小的毛病图标。在IE4.0和IE5.0中,一般的毛病对话框能够经由过程InternetOptions对话框的Advanced页举行设置来激活,如-14所示:
-14Advanced页面设置屏幕
处置剧本程序代码中的客户端毛病和在服务器端类似,而且一般会更简单些,由于常常能够间接从服务器目次中经由过程双击来下载网页。一样平常不必要经由过程Web服务器和HTTP取得网页来察看扫瞄器中的了局,个中的独一分歧是一些服务器交互由客户端剧本来完成,如利用RDS的数据绑定大概静态装进。
2.运转期或语义毛病
在客户端剧本中,一般大概会碰到语法毛病,也会常常碰到运转期或语义毛病。现实上,在客户端,这类征象是很广泛的。由于在客户端不克不及像服务器端那样对剧本的情况举行把持,不克不及一定用户在他们的呆板上正运转甚么,实践上在服务器上仅能从一些组件如BrowserCapabilities中失掉也许情形。
以是,利用客户端工具或特别版本的剧本言语和属性的剧本程序极可能不克不及一般事情。只管云云,处置客户端毛病和处置服务器端毛病是差未几的。
3.在服务器上创立的客户端程序代码
在毛病产生时,作为“客户端对话框对应于ASP毛病页面”划定规矩(关于堕落的中央)的一个出格的破例是,利用ASP程序代码在服务器上静态地创立客户端程序代码。比方,大概想在ASP中举行求值运算,然后把数据传给运转在客户真个剧本代码,大概最简单的办法是把数据作为一个变量拔出剧本代码中:
<%
getthenameofourserverfromtheServerVariablescollection
strServerNameInASP=Request.ServerVariables("SERVER_NAME")
%>
<SCRIPTLANGUAGE="JScript"RUNAT="CLIENT">
<!--hidecodefromolderbrowsers
varstrServerName="<%=strServerNameInASP%>";
…
alert(Servernameis:+strServerName);
…
//stophidingcode
-->
</SCRIPT>
在客户端,在ASP处置这个页面以后,将失掉的是:
<SCRIPTLANGUAGE="JScript"RUNAT="CLIENT">
<!--hidecodefromolderbrowsers
varstrServerName="WROXBOX";
…
alert(Servernameis:+strServerName);
…
//stophidingcode
-->
</SCRIPT>
能够疏忽RUNAT="CLIENT"属性,可是加上这一项可使得在检察运转代码的ASP网页时加倍分明。
如许,假如在某个地位想把服务器端数据库中的数据到场到一个客户端数组中,能够接纳上面的程序完成:
<SCRIPTLANGUAGE="JScript"RUNAT="CLIENT">
<!--hidecodefromolderbrowsers
vararrBooks=newArray(10)//highestavailableindexwillbe
<%startofASPprocessing
intIndex=0
DoWhile{notattheendofsomerecordset}
strTitle={gettitlefromdatabaserecord}
Response.Write"arrBooks["&CInt(intIndex)&"]="_
&strTitle&";"&vbCrlf
intIndex=intIndex+1
{movetonextrecordindatabase}
Loop
…
dosomethinghereontheclientwiththearrayofbooktitles
…
//stophidingcode
-->
</SCRIPT>
这段服务器端ASP程序代码发生的客户端代码,在客户端运转时创立书名题目数组。同时发生的客户端剧本毛病呈现在扫瞄器的毛病对话框中。毛病的缘故原由是以arrBooks定名的数组是由JavaScript代码运转在客户端时创立的,仅能承受9个书名;而服务器端代码能极可能发生多于9个的书名,详细几由源数据库中的纪录数来决意。这相称于以下客户端代码:
<SCRIPTLANGUAGE="JScript"RUNAT="CLIENT">
<!--hidecodefromolderbrowsers
vararrBooks=newArray(10)//highestavailableindexwillbe
arrBooks=InstantJavaScript;
arrBooks=ProfessionalASP3.0Programming;
arrBooks=ADO2.5ProgrammersReference;
…
etc
…
arrBooks=ASPTechniquesforWebmasters;
arrBooks=ASPProgrammersReference;//<-client-sideerroroccurshere
arrBooks=ADSICDOProgramming;
arrBooks=ProfessionalMTSandMSMQProgramming;
…
dosomethinghereontheclientwiththearrayofbooktitles
…
//stophidingcode
-->
</SCRIPT>
这个页面只要经由修改以后才干一般事情,能够经由过程增添数组巨细,也能够经由过程把持来自数据库的纪录数使其一般事情。
7.3避免毛病
下面已看到了可以呈现的一些分歧范例的毛病,而且有了一些查找毛病的感到。上面将思索怎样制止把毛病引进程序中,只管不克不及包管所编写的程序没有毛病,可是这里归纳综合的很多手艺</p>下一页
缺点:安全性不是太差了,还行,只要你充分利用系统自带的工具;唯一缺点就是执行效率慢,如何进行网站优化以后,效果会比较好。 用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。 我可以结合自己的经验大致给你说一说,希望对你有所帮助,少走些弯路。 作为IE上广为流传的动态网页开发技术,ASP以它简单易学博得了广大WEB程序爱好这的青睐,而且它对运行环境和开发品台的不挑剔,以及有大量有效的参考手册,极大的推广了它的发展。 ASP主要是用好六个对象,其实最主要的是用好其中两个:response和request,就可以随心所欲地控制网页变换和响应用户动作了。 Application:这个存储服务端的数据,如果不清除,会直到web应用程序结束才清除(例如重启站点) ASP也是这几种脚本语言中最简单易学的开发语言。但ASP也是这几种语言中唯一的一个不能很好支持跨平台的语言。 因为ASP脚本语言非常简单,因此其代码也简单易懂,结合HTML代码,可快速地完成网站的应用程序。 我想问如何掌握学习节奏(先学什么再学什么)最好详细点? 那么,ASP.Net有哪些改进呢?
页:
[1]