ASP网页编程之谈谈进修ASP静态网页制造手艺的编程心得...
写软件都是想的时间比写的时间要长的.如果反过来了就得看看是什么原因了.另外大家可以回去问问公司里的小MM.(一般企业里,跟你们交付软件接触得最多的是她们)学好一门编程言语有两个前提是必不成少的,一是实际与理论分离,在实践例程往考证书籍上的实际能加深你对实际的了解;二是学会总结,把进修、使用中的心得体味记上去,当做一种履历大概教导加以提炼并在往后的使用中加以改善,必定能进步你对这门编程言语的熟悉。以下是笔者在进修与使用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(),则能够声明以下自界说函数:
以下为援用的内容:
<SCRIPTLANGUAGE="VBSCRIPT"RUNAT="SERVER">
FunctionFormatValue(Value)
FormatValue=FormatCurrency(Value)
EndFunction
</SCRIPT>
接上去在JScript代码中就能够象一般JScript函数一样挪用FormatValue()了。用相似的办法也能够完成VBScript代码挪用JScript函数。
使用一样的划定规矩,我们能够在任何剧本内挪用任何用户界说函数。不外,从JScript剧本内挪用一个不带参数的VBScript历程(Sub)时应略加注重,此时在JScript中应当象挪用一个不带参数的JScript函数一样挪用它,如用foo()挪用VBScriptSubfoo历程。
3、数据共享
在某些情况下夹杂使用VBScript和JScript函数长短常有效的,但在分歧言语剧本之间共享数据也大概很有效。完成这类共享的办法很复杂:不论利用的是甚么言语,只需是在页面级声明的变量就能够恣意援用。
工具的利用办法也类似,能够恣意选用符合的言语读取、修正属性或挪用工具的办法。固然给定工具的属性和办法是由创立该工具实例的言语所界说的。正如上例VBScript的历程挪用,当从JScript中挪用一个不带参数的VBScript工具的办法时,其挪用办法也服从JScript的挪用划定规矩,反之亦然。
4、数组办理
数组共享成绩略微庞大一点。固然数组也象别的变量一样能够在分歧言语剧本之间共享,但必需注重兼容方面的成绩。
VBScript数组在JScript下能够用VBScript的标记援用,即用myArray(2)援用数组元素而不是JScript的数组元素援用标记myArray。别的,还可使用一个特别的JScript工具——VBArray工具将VBScript数组转换为JScript数组。上面的代码从VBScript数组myVBArray创立JScript数组myJSArray:
以下为援用的内容:
varTemp=newVBArray(myVBArray)
varmyJSArray
myJSArray=Temp.toArray()
上述代码起首创立一个一时的VBArray工具,然后利用它的toArray()办法将本人转换为JScript数组。今后就能够象一般JScript数组一样利用myJSArray,如myJSArray。但应该注重的是,toArray()办法将把一个多维的VBArray转换为一维的JScript数组。
从VBScript中援用JScript数组更加庞大。固然在VBScript中我们能够间接会见JScript数组相干的办法和属性,但没有间接会见JScript数组的单个元素的办法。也就是说,我们能够在VBScript剧本中读取JScript数组的长度属性,以下所示:
x=myJSArray.length
但没法间接读取该数组的单个元素,上面的VBScript代码是不准确的:
x=myJSArray(3)
办理该成绩的一个可行的办法是实行一个转换历程,以下面的代码所示,此处假定VBScript是缺省的剧本言语:
以下为援用的内容:
<%
DimTemp
DimmyVBArray
Temp=myJSArray.join(",")
myVBArray=Split(Temp,",")
%>
此处的JScriptjoin()办法将数组myJSArray元素转换到一个以逗号为支解符的字符串,VBScriptSplit()函数将字符串转换为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页面中的。以是到最初,它的模样就是如许了:
以下为援用的内容:
FullName:
%name%<br>Descriptionofduties:
%duties%
Thispicturewastaken:%date%
EmployeeID:%empID%
就是如许了!这就是一个复杂的模板。把它存为template.tmp,在前面的ASP页面中将要援用到它。要注重的是:我们能够在模板中到场各类HTML标签,你完整能够在摸版中界说好网页的布局和款式,就像实践写一个网页一样,只是要把关头的中央标出来——注重到了那些%围着的器材了吗?那就是模板的精华了。也许你已注重到,那些%围着的是和数据库中的字段意义对应的。看看上面的ASP代码,是怎样读进模板和数据库文件,把他们揉和在一同,然后输入我们想要的HTML页面。
这就是一切的代码了,很复杂,不是吗?它所作的只是翻开模板文件,按按次读进每行,然后用冲数据库中读进的实践的字段值来取代模版中那些%img%,%name%标志。并且,它还把在“Duties”字段内年夜段文本中的回车注释成HTML的回车,如许就不至于打乱全部的排版格局了。怎样?轻松弄定吧。模板在某些使用上真的是能够发扬奇效,省时省力。实际上,你还能够修正这段代码,用FileSystemObject来读写文本,如许数据就纷歧定要存储在数据库中了。在一些使用中,好比立即的旧事公布,如许大概更加便利一些。
ActiveServerPage技术为应用开发商提供了基于脚本的直观、快速、高效的应用开发手段,极大地提高了开发的效果。在讨论ASP的安全性问题之前,让我们来看看ASP是怎么工作的。 完全不知道到底自己学的是什么。最后,除了教程里面说的几个例子,还是什么都不会。 代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。 ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++,VB,JS等等,当然,最合适的编程语言还是MS为.NetFrmaework专门推出的C(读csharp),它可以看作是VC和Java的混合体吧。 运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写,使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行。 Server:这个表示的服务器,操作服务器的一些东西使用这个,如Server.Mappath转换服务器路径,Server.CreateObject实例化一个组件 先学习用frontpage熟悉html编辑然后学习asp和vbscript建议买书进行系统学习 跟学别的语言一样,先掌握变量,流程控制语句(就是ifwhileselect)等,函数/过程,数组 下面简单介绍一下我学习ASP的方法,希望对想学习ASP的朋友有所帮助...
页:
[1]