ASP的语法简介
一个简单的ASP程序主要包括以下三个部分:
1. 普通的HTML文件,也就是普通的Web的页面内容。
2. 服务器端的Script程序代码:位于<%…%>内的程序代码。
3. 客户端的Script程序代码:位于<Script>…</Script>内的程序代码。
ASP的注意事项
•不分大小写
•用英文的标点符号
•<% %>的位置
•ASP语句必须在一行中
•注释语句 用’号开头
静态网页的缺点是:如果要修改网页,必须修改源代码,并重新上传。
静态网页的工作原理
在服务器端:接受请求------找到静态网页----发送网页
所谓动态网页,就是服务器端可以根据客户端的不同请求动态产生网页内容。
动态网页的工作原理
在服务器端: 接受请求------找到动态网页----运行动态网页,生成静态网页-----发送网页
两个显著特点:
– 可以动态产生页面
– 支持客户端和服务器端的交互功能
脚本语言,就是一种介于HTML语言和Visual Basic、Java等高级语言之间的一种语言。
• 在ASP程序中常用的脚本语言有VBScript和JavaScript等语言,系统的默认语言为VBScript语言。
• ASP可以通俗的说就是把脚本语言放在<%和%>之间,一般在服务器端运行。
VBScript代码的基本格式
•在服务器端运行,有两种方式
– 方法一:<%VBScript 代码%>
– 方法二:<Script Language=”VBScript”
– runat=”Server”>
– VBScript 代码
– </Script>
•在客户端运行,语法如下:
– <Script Language=”VBScript”>
– VBScript 代码
– </Script>
在VBScript,只有一种数据类型,称为Variant,也有叫做变体类型。
•常见的字类型有字符串、数字、日期、逻辑类型。
– Variable=2001 ‘VBScript会将它当成整数对待
– Variable=”2001” ‘VBScript会将它当成字符串对待
– Variable=”北京大学” ‘VBScript会将它当成字符串对待
– Variable=20.01 ‘VBScript会将它当成小数对待
•常量可以代表字符串、数字、日期等常数,常量一经定义以后,其值将不能再更改。 常量如下定义:
– <%
– Const PI=3.1415926 ‘表示数值型常数
– Const ConstString1=”中国” ‘用“”表示字符串型常数
– Const ConstString2=”100” ‘用“”表示字符串型常数
– Const ConstDate=#2001-1-12# ‘用##表示日期常数或时间常数
– %>
在ASP中变量可以不定义直接使用
如:<% a=2 %>
如果强制必须定义才能使用,就必须要在所有ASP语句之前添加语句:
– <% option explicit %>
在ASP中要注意运算顺序,先计算算术运算符,其次连接运算符,再次比较运算符,最后计算逻辑运算符。
常用的比较运算符
•>
•<
•=
•<>
•>=
•<=
常见的逻辑运算符
•AND a>2 AND b>3
•OR a=2 OR b<3
•XOR a>2 XOR b<4
•NOT NOT a>2
VBScript函数
• VBScript中继承了Visual Basic中的一些函数 ,可以直接调用即可。
– 转换函数,Cstr,cInt,cDate
– 字符串函数 Mid,Left,Right,Trim,instr,len,split
– 日期和时间函数 Date Time Now,year,month,day
– 数学函数 Sin Cos
字符串函数
•<%
•C=left(“abcd”,2) ‘从左边开始取2个字符
•C=right(“abcd”,2) ‘从右边开始取2个字符
•C=len(“abcd”) ‘获取字符串的长度
•C=Trim(“abcd “) ‘去掉字符串两边的空格
•C=split(“ab/cd/ef”,”/”) ‘拆分函数
•C=instr(“ab”,”ab”) ‘查找函数
•%>
日期函数
<%
N=Year(date())
Y=Month(date())
R=Day(date())
%>
VBScript过程
• 在VBScript中,过程有两种,一种是Sub子程序,一种是Function函数。
– Sub子程序的语法:
– Sub 子程序名(参数1,参数2,…)
– 语句……
– End Sub
• 调用子程序
– Call 子程序名(参数1,参数2,…)
<%
Sub test(a,b,c)
C=a^3+b^3
End sub
Dim sum
Call test(2,3,sum)
Response.write sum
%>
• Function函数的语法:
– Function 函数名(参数1,参数2,…)
– 语句……
– End Function
• 调用函数
– 变量= Function 函数名(参数1,参数2,…)
– 函数可以向变量一样引用和参与运算
<%
Function test(a,b)
C=a^3+b^3
Test=c
End function
Dim sum
Sum= test(2,3)
Response.write sum
%>
ASP中的条件语句
• 用到条件语句。
• If…Then…Else语句
• Select Case语句
<%
Dim c
C=45
If c>=90 then
Response.write ‘优秀’
Elseif c>=60 and c<=90
Response.write ‘及格’
Else
Response.write ‘不及格’
End if
%>
<%
Dim c
C=’d’
Switch case C
Case ‘a’
Response.write ‘优秀’
Case ‘b’
Response.write ‘及格’
Case else
Response.write ‘不及格’
End select
%>
ASP中的循环语句
• 在VBScript中,常用的循环语句有:
• For…Next 循环
• Do…Loop循环等。
<%
Dim I,sum
Sum=0
For I=1 to 100
Sum=sum+I^2
Next
Response.write sum
%>
•
<%
Dim I,sum
Sum=0
I=1
Do while I<101
Sum=sum+I^2
I=I+1
loop
Response.write sum
%>
• 如果希望强行退出循环,则在循环内加
• Exit For
• Exit Do
•
• ASP几个重要的内部对象
• Request对象—从客户端获取数据
• Response对象---向客户端输出数据
• Session对象---记载特定客户的信息
• Application对象---记载同一个应用程序中的所有用户之间的共享信息
• Server对象---创建COM对象和Scripting组件等
•
•
Request对象共有五种获取方法,分别是: QueryString、Form、Cookies、ServerVariables、ClientCertificate
• 语法:
Request.获取方法(参数)
例如:
<%
Request.Form(“user_name”) ‘获得表单中的用户名
%>
•
• 利用QueryString获取方法取回标识在URL后面的所有返回的变量及其值;
– <a href=”4-1.asp?name=白芸&age=22”>
– <%
– Dim name
– Name=Resquest.querystring(“name”);
– Response.write name
– %>
使用ServerVariables方法可以获取服务端或客户端的一些信息,如来访者的IP地址
• 语法:
• Request.ServerVariables(“参数”)
Response用来控制送出给客户端的信息,Response对象可以使用的方法有下面三个:
– 1.Write:直接送出信息给客户端。
– 2.Redirect:引导客户端至另一个URL位置。
– 3. End :结束程序运行
– 4.Cookies:设置Cookies值。
• 可以使用的属性有下面两个:
– 1.Buffer:设置为缓冲信息。
– 2.ContentType:控制送出的文件类型。
Buffer属性,它的值为True或False,默认为False。
• 当Buffer为True时,它要把页面输出至缓冲区,当正在输出时,服务器端不响应客户端,除非所有的服务器端文件被处理完毕。
• 当Buffer为False时,服务器端不再将页面输出至缓冲区,会直接将页面输出至客户端浏览器。
End方法可以停止处理ASP程序
• 语法:
• Response.End
利用Response对象的Cookies方法可以设置Cookies。
• 设置不含关键字的Cookies
– <%
– Response.Cookies(“user_name”)=“章剑”
– %>
设置含关键字的Cookies
– <%
– Response.Cookies(“user_name”)(“name1”)=“张云”
– Response.Cookies(“user_name”)(“name2”)=“苏方”
– %>
设置Cookies的有效期,什么时候失效
– <%
– Response.Cookies(“user_name”)=“章剑”
– Response.Cookies(“user_name”).expires=#2004-1-1#
– %>
利用Request对象的Cookies获取方法可以获取Cookies。
• 获取不含关键字的Cookies
– <%
– User_name=Request.Cookies(“user_name”)
– %>
• 获取含关键字的Cookies
– <%
– name1=Request.Cookies(“user_name”)(“name1”)
– name2=Request.Cookies(“user_name”)(“name2”)
– %>
• Session的属性、方法
– 属性有下面两个:
– 1.SessionID 存储用户的Session ID
– 2.Timeout Session的有效期时长
– 方法只有一个:
– 1.Abandon 清除Session对象
利用Session可以保存变量或字符串等信息,语法如下:
– Session(“Session名字”)=变量或字符串信息
• 从Session中调用该信息的语法:
– a=session(“Session名字”)
一定要记住,文本类型的字段值两边要加引号,如发生引号嵌套,内层要改为单引号;日期类型两边要加#号。