ASP网页编程之ASP教程:初度打仗进修ASP剧本程序
由于ASP提供的是一对多的服务,所以用户的一些特殊需求很难得到满足。程序|剧本|教程为何要学剧本言语呢?ASP和剧本言语又有甚么干系呢?起首说说ASP是贵为什么物吧。ASP是MicrosoftActiveServerPages的简称,它是一种服务器端剧本情况,可用来创立交互式Web页并创建壮大的Web使用程序。能够标明ASP是一种基于服务器真个剧本情况,那就分明ASP为何必要IIS撑持了,由于IIS即为经常使用的一类web服务器;那也就分明为何要学剧本言语了,由于ASP供应的是一种剧本情况。
再次必要申明的是,ASP只是一种情况,而非一种言语。假如真要抽象化地说是ASP是收集编程言语的话,那也是属于一个html+剧本+asp供应的内置工具及组件的功效壮大的夹杂言语。
以是,学点剧本十分主要!实在不管是学剧本言语,仍是别的言语,我以为起首必要懂得的是该言语涵盖的各种特征,包含:数据范例、事务、办法、工具、属性、语法等固然这都是些空口说,正如在年夜学教室上的某盘算机言语课一样,弄纯研讨性的就是以为有些索而有趣。仍是有用些的好,能办理成绩的程序才是好程序(印证能逮到老鼠的猫就是好猫的典范圣语,呵呵)
固然,言语这器材仍是要你往好好研究的,好比你写求相对值的程序,实在一个abs()函数就弄定了。再好比你会vb剧本,但把一样程序交换成java剧本就会堕落,它们的数据范例分歧,语句语法也纷歧样啊。正如说中文和外文一样,要会发音标(数据范例),会怎样发音(办法),怎样说成一句话(语法)……呵呵,有点让你舒服吧。行!直截了当。你今后必要注重的是言语的函数、语法。固然也不是让你全看,依照教程中的碰到一个把握一个。教程学完,差未几也停止了。呵呵,你要信任我。
今朝有两种次要的剧本言语:VbScript和JavaScript。由于VbScript作为IIS默许的服务器剧本,以是我们所谈所学的基础是环绕VbScript为剧本的ASP的,固然也不扫除有的时分利用javascript.
举一个很复杂的例子:
<scriptlanguage="vbscript">
<!--
subbutton1_onclick
msgbox("接待利用vbscript!")
endsub
-->
</script>
<scriptlanguage="javascript">
<!--
functionb213()
{
alert("接待利用javascript!")
}
-->
</script>
<form>
<inputtype="button"name="button1"value="vbs"><br>
<inputtype="button"name="button2"value="js">
</form>
vbscript中的Sub就是一个事务历程。历程名包括两部分:一部分为按钮名,即Button1(从<INPUT>标志中的NAME属性猎取);另外一部分为事务名,即OnClick。两部分由下划线(_)毗连。单击按钮时,InternetExplorer查找并运转响应的事务历程,即Button1_OnClick,而MsgBox就是一个函数,关于它更详细的参数,你就好悦目下了。
一时来劲,大概人人都看到网上有种狂恶心的对话框组,道理是甚么呢?请看:
<scriptlanguage="vbscript">
msgbox"你晓得你会点断定的。。。。。。。"
msgbox"不点也要点。。。。。。。。"
msgbox"没举措是吧。。。。。。。。。。?"
msgbox"要不网页打不开啊。。。。。。"
msgbox"这招损人吧。。。。。。。。。"
msgbox"真想揍揍站长。。。。。。。。。"
</script>
实在站长用这些玩弄他人的时分,先玩弄了本人:由于这都是他想出来的啊:)
呵呵,我没有损人人的意义,只是为了进修。
在来个开页和退页弹出对话框的道理吧
<scriptlanguage="vbscript">
<!--
subwindow_onload()
msgbox"welcomeyou!"
endsub
subwindow_onunload()
msgbox"seeyoulate!"
endsub
-->
</script>
开页显现“welcomeyou!”,关页显现“seeyoulate!”
以上只是一个显现对话框msgbox,固然另有誊写对话框inputbox也特地看下吧。
<scriptlanguage="vbscript">
<!--
dimstrname
strname=inputbox("enteryournameplease:","enteryourname","cnbruce")
document.write(strname&",welcomeyou!<p>")
-->
</script>
有关inputbox的想关参数也往看看吧。
再来看看几个有用的函数:
len():前往字符串长度大概变量的字节长度
lef():截取一个字符串的前部份内容
right():截取一个字符串的后部份内容
<scriptlanguage=vbs>
text="1234567890abcdefgh"
i=10
lentext=len(text)
lefttext=left(text,i)
righttext=right(text,i)
alert("文本长度是:"&lentext)
alert("文本左取"&i&"得的是:"&lefttext)
alert("文本右取"&i&"得的是:"&righttext)
</script>
依据这几个,常常看到的长文章前面加“......”的情形就是以下:
<scriptlanguage=vbs>
text="12345678fds90abcdefghxcfv"
i=10
iflen(text)>ithen假如文本长度年夜于给定的值
text=left(text,i)则提取前段的i位的字符串
alert(text&"...")
else
alert(text)
endif
</script>
另有个对照主要的函数replace()
在字符串中查找,替换指定的字符串
replace(strtobesearched,strsearchfor,strreplacewith)
strtobesearched是字符串; strsearchfor是被查找的子字符串;strreplacewith 是用来替换的子字符串。
上面的一个就是很有效的笔墨转换程序
<scriptlanguage=vbs>
text="你好,接待"
text=replace(text,"你好","nihao")
text=replace(text,"迎","Ying")
alert(text)
</script>
常常在发送EMAIL时,增加多个地点,两头接纳“;”号举行分开,那详细怎样分化承受过去的多个EMAIL地点呢?接纳Split函数:Split函数从字符串中前往数组。
<scriptlanguage=vbs>
cnbruce="webjx@163.com;webjx@webjx.com;tslxg@hotmail.com"
MyArray=Split(webjx,";")
a=MyArray(0)
b=MyArray(1)
c=MyArray(2)
alert(a)
alert(b)
alert(c)
</script>
这些都是对照实际较好玩的些,玩中进修也不错:)但究竟我们是要编程的,说到编写程序,我晓得程序布局能够分:
1,按次布局:就是最一般的,从上往下,从左往右实行的程序
2,选择布局:给你两个前提,要不如许(if...then),要不那样(else),任君选择:)
3,轮回布局:给你一个最年夜发扬的空间,在不超越这个局限内举行举动(轮回),不然主动加入(跳出轮回)。
再庞大的程序也不过是由这三种布局综合嵌套使用过去的,你说是吧。
按次布局没几要说,由于程序实行基础都是这偏向。
来看看选择布局,固然选择布局也能够嵌套。
<body>
hello,
<scriptlanguage="vbscript">
<!--
dimthishour
thishour=hour(time)
ifthishour<=12then
document.bgcolor="red"
document.fgcolor="black"
document.write("上午好!")
else
ifthishour<=18then
document.bgcolor="blue"
document.fgcolor="white"
document.write("下战书好!")
else
document.bgcolor="green"
document.fgcolor="yellow"
document.write("早晨好!")
endif
endif
-->
</script>
本页的感化是依据分歧工夫显现分歧色彩和接待信息。
</body>
以上程序很复杂吧,只需能熟悉英文就会懂程序(我是这么了解的:)
先把如今的小时提交出来:hour(time);
然后和12对照判别,假如<=12,一定是上午了,不然就是下战书和早晨;
不然内里持续前提判别,假如工夫再<=18的话,那一定就是下战书了;
最初,不必说,瞎子猜猜也晓得是早晨了:)
有打开一程序中的document.bgcolor就是文档的背景致,document.fgcolor就是文档的远景色(笔墨色),下一程序是静态改动背景色彩的。
<scriptlanguage="vbscript">
<!--
subsetbgcolor(bcolor)
document.bgcolor=bcolor
endsub
-->
</script>
<form>
<inputtype="radio"name="color"onclick=setbgcolor("red")>red<br>
<inputtype="radio"name="color"onclick=setbgcolor("green")>green<br>
<inputtype="radio"name="color"onclick=setbgcolor("blue")>blue<br>
<inputtype="radio"name="color"onclick=setbgcolor("yellow")>yellow<br>
<inputtype="radio"name="color"onclick=setbgcolor("gray")>gray<br>
</form>
有关前提选择布局的嵌套再show出一个表单检测的程序
<html><head><title>abc</title>
<scriptlanguage="vbscript">
<!--
subbtnsubmit_onclick
ifform1.name.value""then
ifform1.addr.value""then
ifform1.email.value""then
ifinstr(form1.email.value,"@")0andinstr(form1.email.value,".")0then
form1.submit
else
alert"emailerror!"
endif
else
alert"enteryouremail!"
form1.elements("email").focus
endif
else
alert"enteryouraddress!"
form1.elements("addr").focus
endif
else
msgbox"enteryournameplease!"
form1.elements("name").focus
endif
endsub
-->
</script>
</head>
<body>
<formname="form1"method=postaction="bug.html">
yourname:<inputtype="text"name="name"><br>
youraddr:<inputtype="text"name="addr"><br>
youremail:<inputtype="text"name="email"><br>
<inputtype="button"name="btnsubmit"value="submit">
</form>
</body>
</html>
程序是给出来了,但看起来对照难明,偶然程序实行工夫也对照主要,以是得精简程序代码。
正所谓:写程序简单,写典范程序难啊,那下面的程序还能够换种头脑体例。改用javascript(注:学的是编程头脑,不要太甚计算剧本范例)
<html>
<head>
<title>abc</title>
<scriptlanguage="javascript">
<!--
functionform1_onsubmit()
{
if(document.form1.name.value=="")
{
alert("请设定您的上岸名。")
document.form1.name.focus()
returnfalse
}
elseif(document.form1.addr.value=="")
{
alert("请填写您的地点。")
document.form1.addr.focus()
returnfalse
}
elseif(document.form1.email.value=="")
{
alert("请填写您的E-Mail地点。")
document.form1.email.focus()
returnfalse
}
}
-->
</script>
</head>
<body>
<formname="form1">
yourname:<inputtype="text"name="name"><br>
youraddr:<inputtype="text"name="addr"><br>
youremail:<inputtype="text"name="email"><br>
<inputtype="submit"name="submit"value="submit">
</form>
</body>
</html>
最初来看下轮回布局吧:1到500可不是一个一个写出来的。
<scriptlanguage=vbs>
fori=1to500
document.write(i&"<br>")
next
</script>
固然轮回不但能够用for,还能够用dowhile...loop等
归正程序这器材是取代我们少做了很多反复单一无聊的事――只需你公道使用程序。
应当有些成绩吧,学言语,学编程就是学语法语义,学编程架构想想。
固然这要你有踏实的本言语的基本,基本是甚么?你晓得哪些函数吗?你晓得怎样用程序怎样判别偶数吗(包括了运算)?你晓得怎样举行表单检测吗?你晓得哪三种程序架构吗?
呵呵,把以上的程序吃透,最好再多看看剧本参考手册,跟我就能够入手下手ASP的上路了。
补:
Function历程与Sub历程相似,可是Function历程能够前往值。
Function历程也能够利用由挪用历程传送的常数、变量或表达式作为参数。假如Function历程无任何参数,则Function语句必需包括括号()。
Function历程经由过程函数名前往一个值,这个值是在历程的语句中赋给函数名。Function前往值的数据范例老是Variant。
ASP.NET和ASP的比较,技术上比较已经没什么可说的了.新一代在大部分程度来说当然是比旧一代好了.关键看你对所做软件的理解了.因人而定.会写的话也可能比ASP.NET写得更有效率和更方便重用 以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。 作为IE上广为流传的动态网页开发技术,ASP以它简单易学博得了广大WEB程序爱好这的青睐,而且它对运行环境和开发品台的不挑剔,以及有大量有效的参考手册,极大的推广了它的发展。 先学习用frontpage熟悉html编辑然后学习asp和vbscript建议买书进行系统学习 最近在学asp,不要问我为什么不直接学.net,因为公司网站是asp做的所以有这个需要,卖了本书asp入门到精通,对里面的六大内置对象老是记不住,还有很多属性和方法看的头晕。 ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++,VB,JS等等,当然,最合适的编程语言还是MS为.NetFrmaework专门推出的C(读csharp),它可以看作是VC和Java的混合体吧。 兴趣爱好,那么你无须学编程,申请一个域名和空间,在网上下载一些免费开源的CMS系统,你不用改代码,只须熟悉它们的后台操作,像office一样简单方便,很快就能建一个站点,很多站长都是这样做的 不是很难但是英文要有一点基础网上的教程很少有系统的详细的去买书吧,另不用专门学习vb关于vbscript脚本在asp教材都有介绍 不能只是将它停留在纸上谈兵的程度上。
页:
[1]