仓酷云

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

[学习教程] ASP教程之使用总结:ASP编程心得回放

[复制链接]
兰色精灵 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-3 23:33:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
由于ASP还是一种Script语言所没除了大量使用组件外,没有办法提高其工作效率。它必须面对即时编绎的时间考验,同时我们还不知其背后的组件会是一个什么样的状况;   好一门编程言语有两个前提是必不成少的,一是实际与理论联合,在实践例程去验证书本上的实际能加深你对实际的了解;二是学会总结,把进修、应用中的心得体味记上去,当做一种经历或经验加以提炼并在往后的使用中加以改善,必定能进步你对这门编程言语的熟悉。以下是笔者在进修与应用ASP编程中的两点经历,但愿能对人人有所匡助。

  ASP页面内VBScript和JScript的交互

  ASP具有办理分歧言语剧本法式的才能,可以主动挪用适合的剧本引擎以注释剧本代码和履行内置函数。ASP开辟情况供应了两种剧本引擎,即VBScript(缺省)和JScript。不外,开辟者并没有被限制于只能利用这两种言语,只需可以供应适合的ActiveX剧本引擎就可以利用任何剧本言语。

  剧本言语的选择常常基于很多分歧缘由:它多是开辟者最为熟习的言语,多是对给定工程来讲可以供应最多特征撑持的,也有多是最具效力的。分歧的情况和请求使得咱们在选择剧本言语时重视分歧的要素,同时也使得咱们在某些时分面对选定的剧本言语不克不及直接供应其它言语固有的函数这一成绩,或某个剧本已写成但用的倒是别的一种剧本言语。

  此时应当怎样办?是不是需求用以后所用的剧本言语重写这些剧本?或说,是不是有能够在一种剧本言语中挪用其它剧本言语的内置函数?本文要申明的就是在ASP使用中若何让VBScript剧本和JScript剧本交互以最大限制地取得两种剧本言语的特征撑持。

  1、VBScript和JScript的内置函数

  在VBScript和JScript中,有大批的内置函数功效是不异或相似的。但是,在一种剧本言语中内置的函数并不是老是在别的一种剧本言语中也有对应的函数。例如,VBScript供应了很多用于操作字符串和格局化数据的函数,这些函数在JScript中其实不存在。这些函数包含StrReverse()、Filter()和FormatCurrency()等。在另外一方面,JScript所供应的用于办理数组、字符串编码等的函数在VBScript中也没有界说,如join()、reverse()、pow()、位操作、escape()和unescape()等。

  那末,假如在JScript法式中需求一个VBscript函数该怎样办呢?

2、异种剧本的相互挪用

  假如需求在JScript剧本中挪用一个VBScript中内置的函数,则应当写一个VBScript用户界说函数(在这里挪用VBScript内置函数),然后在JScript剧本中象挪用公用JScript函数一样挪用这个用户界说函数。

  例如,假如要挪用的VBSCript内置函数是FormatCurrency(),则可以声明以下自界说函数:

 < SCRIPT LANGUAGE="VBSCRIPT" RUNAT="SERVER">
 Function FormatValue(Value)
  FormatValue = FormatCurrency(Value)
 End Function
 < /SCRIPT>

  接上去在JScript代码中就能够象通俗JScript函数一样挪用FormatValue()了。用相似的办法也能够完成VBScript代码挪用JScript函数。

  使用一样的划定规矩,咱们可以在任何剧本内挪用任何用户界说函数。不外,从JScript剧本内挪用一个不带参数的VBScript进程(Sub)时应略加注重,此时在JScript中应当象挪用一个不带参数的JScript函数一样挪用它,如用foo()挪用VBScript Sub foo进程。

  3、数据同享

  在某些情况下夹杂应用VBScript和JScript函数长短常有效的,但在分歧言语剧本之间同享数据也能够很有效。完成这类同享的办法很复杂:不论利用的是甚么言语,只需是在页面级声明的变量就能够恣意援用。

  对象的利用办法也类似,可以恣意选用适合的言语读取、修正属性或挪用对象的办法。固然给定对象的属性和办法是由创立该对象实例的言语所界说的。正如上例VBScript的进程挪用,当从JScript中挪用一个不带参数的VBScript对象的办法时,其挪用办法也服从JScript的挪用划定规矩,反之亦然。

  4、数组办理

  数组同享成绩略微庞杂一点。固然数组也象其它变量一样可以在分歧言语剧本之间同享,但必需注重兼容方面的成绩。

VBScript数组在JScript下可以用VBScript的符号援用,即用myArray(2)援用数组元素而不是JScript的数组元素援用符号myArray[2]。另外,还可使用一个特别的JScript对象――VBArray对象将VBScript数组转换为JScript数组。上面的代码从VBScript数组myVBArray创立JScript数组myJSArray:
 var Temp = new VBArray(myVBArray)
 var myJSArray
 myJSArray = Temp.toArray()

  上述代码起首创立一个一时的VBArray对象,然后利用它的toArray()办法将本人转换为JScript数组。尔后就能够象通俗JScript数组一样利用myJSArray,如myJSArray[1]。但应该注重的是,toArray()办法将把一个多维的VBArray转换为一维的JScript数组。

  从VBScript中援用JScript数组更加庞杂。固然在VBScript中咱们可以直接会见JScript数组相干的办法和属性,但没有直接会见JScript数组的单个元素的办法。也就是说,咱们可以在VBScript剧本中读取JScript数组的长度属性,以下所示:
   x = myJSArray.length

  但没法直接读取该数组的单个元素,上面的VBScript代码是不准确的:
   x = myJSArray(3)

  处理该成绩的一个可行的办法是履行一个转换进程,以下面的代码所示,此处假定VBScript是缺省的剧本言语:
< %
  Dim Temp
  Dim myVBArray
  Temp = myJSArray.join(", ")
  myVBArray = Split(Temp, ", ")
%>

  此处的JScript join()办法将数组myJSArray元素转换到一个以逗号为朋分符的字符串,VBScript Split()函数将字符串转换为VBScript数组。注重这里咱们是在VBScript情况下挪用JScript的join办法。按照此例,咱们可以经由过程自界说VBScript函数来摹拟JScript的VBArray对象的toArray()办法以完成JScript数组到VBScript数组的转换。

用模板创立静态ASP页

  关于模板,我想人人能够都有一些概念,在word中良多模板,设计好了也许的版面,你只需用你本人的话填充那些占位字符就行了。这儿的模板也许也就是这个意思,页面中绝对不乱的局部固定上去,其他的局部根分歧的情形在输出分歧的内容。其其实Dreamweaver中也有模板的功效,不外谁人静态的,只妙手动填充内容,而这儿讲的是静态的主动的内容填充。

  起首,我先来注释一下为何要用到模板文件。有时分,模板可以带给你对网页功效和结构更加完全的概念。当你看到Word的模板格局以后,就晓得最初版面是个甚么模样的了,在这儿也是如斯。例如,你可以保存ASP语句,而利用分歧的模板来创立分歧的页面作风。

  如许,你就不必为每种分歧作风的网页分离来写分歧的ASP页面了,这明显可觉得咱们节俭良多工夫和精神。并且,模板文件可以让你更轻易的阅读页面代码,不必忧虑ASP和HTML的混同弄的你头昏眼花。你可以只用把注重力集中在HTML上,而完整不必去管ASP了。再有就是,摸板很复杂,你相对很快就可以弄懂弄定。在这篇文章中,将会用到一个数据库――一个用的很普遍的雇员表。包含雇员ID,姓名,照片,和任务摘要和照片的注脚。上面是这个Access数据库的布局:
文件名 - myDatabase.mdb
表名 - Employees
ID
主动计数(Autonumber)
FullName
文本 - 最多100个字符
PicURL
文本 - 最多255个字符
Duties
正文类型
PicCaption
文本 - 最多50个字符

  一个很复杂的数据库,是吧。固然你可以按请求来扩大它,那就是你本人的事了。我假定你已懂得数据库的根基操作,如许我不必在这下面花太多的文字,其实这儿的代码都是很复杂的,只需你晓得一些根基的器材,就可以把它看懂。创立了数据库以后,咱们可以入手下手创立模板文件了。这个文件是每一个页面的骨架。我没有效到表格,那样有些费事,而我很懒,并且,也不必到场,标签,由于那是要加在ASP页面中的。所以到最初,它的模样就是如许了:
Full Name:
%name% < br>Description of duties:

%duties%

This picture was taken: %date%


Employee ID: %empID%

  就是如许了!这就是一个复杂的模板。把它存为template.tmp,在前面的ASP页面中将要援用到它。要注重的是:咱们可以在模板中到场各类HTML标签,你完整可以在摸版中界说好网页的布局和款式,就像实践写一个网页一样,只是要把关头的中央标出来――注重到了那些%围着的器材了吗?那就是模板的精华了。也许你已注重到,那些%围着的是和数据库中的字段意义对应的。看看上面的ASP代码,是若何读入模板和数据库文件,把他们揉和在一同,然后输入咱们想要的HTML页面。

  这就是一切的代码了,很复杂,不是吗?它所作的只是翻开模板文件,按按次读入每行,然后用冲数据库中读入的实践的字段值来取代模版中那些%img%,%name%标志。并且,它还把在“Duties”字段内大段文本中的回车注释成HTML的回车 ,如许就不至于打乱全部的排版格局了。怎样?轻松弄定吧。模板在某些使用上真的是可以发扬奇效,省时省力。实际上,你还可以修正这段代码,用FileSystemObject来读写文本,如许数据就纷歧定要存储在数据库中了。在一些使用中,好比即时的旧事宣布,如许或许更加便利一些。

asp,jsp,php是web开发的三大技术,asp简单易用且有microsoft做靠山,jsp功能强大是因为有java支持,php则开源跨平台.在国内,asp应用范围最广,jsp发展势头最猛,php则处于劣势.这可能与公司的支持以及技术的培训有关.
愤怒的大鸟 该用户已被删除
沙发
发表于 2015-2-4 02:08:05 | 只看该作者
交流是必要的,不管是生活还是学习我们都要试着去交流,通过交流我们可以学到很多我们自己本身所没有的知识,可以分享别人的经验甚至经历。
海妖 该用户已被删除
板凳
发表于 2015-2-4 13:28:53 | 只看该作者
没有坚实的理论做基础,那么我们连踏入社会第一步的资本都没有,特别对于计算机专业的学生学好专业知识是置关重要的。在这里我侧重讲一下如何学习ASP,从平时的学习过程中。
深爱那片海 该用户已被删除
地板
发表于 2015-2-4 13:30:10 | 只看该作者
不是很难但是英文要有一点基础网上的教程很少有系统的详细的去买书吧,另不用专门学习vb关于vbscript脚本在asp教材都有介绍
兰色精灵 该用户已被删除
5#
 楼主| 发表于 2015-2-4 22:59:23 | 只看该作者
虽然ASP也有很多网络教程。但是这些都不系统。都是半路出家,只是从一个例子告诉你怎么用。不会深入讨论,更不会将没有出现在例子里的方法都一一列举出来。
蒙在股里 该用户已被删除
6#
发表于 2015-2-9 09:57:07 | 只看该作者
他的语法和设计思路和VB完全相同,导致很多ASP的书都留一句“相关内容请参考VB的相关教材....”更糟糕的是,相当多的ASP教程混合了Javascript,VBscript等等脚本语言,搞的初学者。
乐观 该用户已被删除
7#
发表于 2015-2-27 05:26:31 | 只看该作者
我们必须明确一个大方向,不要只是停留在因为学而去学,我们应有方向应有目标.
若天明 该用户已被删除
8#
发表于 2015-3-8 22:16:20 | 只看该作者
完全不知道到底自己学的是什么。最后,除了教程里面说的几个例子,还是什么都不会。
爱飞 该用户已被删除
9#
发表于 2015-3-16 14:53:48 | 只看该作者
如何学好ASP,以前也有人问过,把回答给你转过来看看能否对你有帮助:
若相依 该用户已被删除
10#
发表于 2015-3-17 03:10:33 | 只看该作者
作为IE上广为流传的动态网页开发技术,ASP以它简单易学博得了广大WEB程序爱好这的青睐,而且它对运行环境和开发品台的不挑剔,以及有大量有效的参考手册,极大的推广了它的发展。
因胸联盟 该用户已被删除
11#
发表于 2015-3-23 17:15:01 | 只看该作者
没有坚实的理论做基础,那么我们连踏入社会第一步的资本都没有,特别对于计算机专业的学生学好专业知识是置关重要的。在这里我侧重讲一下如何学习ASP,从平时的学习过程中。
精灵巫婆 该用户已被删除
12#
发表于 2015-4-9 13:06:43 | 只看该作者
我认为比较好的方法是找一些比较经典的例子,每个例子比较集中一种编程思想而设计的。
冷月葬花魂 该用户已被删除
13#
发表于 2015-4-11 00:10:23 | 只看该作者
交流是必要的,不管是生活还是学习我们都要试着去交流,通过交流我们可以学到很多我们自己本身所没有的知识,可以分享别人的经验甚至经历。
小女巫 该用户已被删除
14#
发表于 2015-4-12 23:57:46 | 只看该作者
接下来就不能纸上谈兵了,最好的方法其实是实践。实践,只能算是让你掌握语言特性用的。而提倡做实际的Project也不是太好,因为你还没有熟练的能力去综合各种技术,这样只能使你自己越来越迷糊。
小魔女 该用户已被删除
15#
发表于 2015-4-29 04:34:43 | 只看该作者
不是很难但是英文要有一点基础网上的教程很少有系统的详细的去买书吧,另不用专门学习vb关于vbscript脚本在asp教材都有介绍
变相怪杰 该用户已被删除
16#
发表于 2015-5-1 10:12:37 | 只看该作者
交流是必要的,不管是生活还是学习我们都要试着去交流,通过交流我们可以学到很多我们自己本身所没有的知识,可以分享别人的经验甚至经历。
金色的骷髅 该用户已被删除
17#
发表于 2015-5-5 16:25:08 | 只看该作者
Response:从字面上讲是“响应”,因此这个是服务端向客户端发送东西的,例如Response.Write
admin 该用户已被删除
18#
发表于 2015-6-17 21:04:40 | 只看该作者
不能只是将它停留在纸上谈兵的程度上。
谁可相欹 该用户已被删除
19#
发表于 2015-6-24 21:07:28 | 只看该作者
弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。
飘灵儿 该用户已被删除
20#
发表于 2015-6-28 21:02:44 | 只看该作者
我就感觉到ASP和一些常用的数据库编程以及软件工程方面的思想是非常重要的。我现在也在尝试自己做网页,这其中就用到了ASP,我想它的作用是可想而知的。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-23 04:58

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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