欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

ASP 基础一

程序员文章站 2022-03-02 21:49:19
ASP是什么? •ASP代表Active Server Pages(动态服务器页面) •需在IIS中运行的程序 我自己的理解就是UI和逻辑代码同在一个页面中,而缺点就是不易维护。code-Behind是asp.net中的术语(代码后置),它的出现解决了这一问题。 ASP基本语法: ASP的脚本代码都 ......

asp是什么?

•asp代表active server pages(动态服务器页面)

•需在iis中运行的程序

我自己的理解就是ui和逻辑代码同在一个页面中,而缺点就是不易维护。code-behind是asp.net中的术语(代码后置),它的出现解决了这一问题。

asp基本语法:

asp的脚本代码都是用<% %>包裹起来的。

response.write输出语句

1 <!doctype html>
2 <html>
3 <body>
4 <%
5 response.write("我爱你")
6 %>
7 </body>
8 </html>

也可以简写成<%

="我爱你"

%>

asp主要使用两种脚本语言,分别是vbscript和javascript,其中页面默认是vb,如果需要指定,在页面顶部插入<%@ language="javascript" %>来说明。

vb对于大小写不敏感,js则敏感,需要注意。同时我自己觉得vb语法比较随意,先学的是asp.net,c#的语法就较为规范一点。最起码写完给个;号以表示结束,asp就不用分号结尾。

asp变量的声明和使用:

ASP 基础一
 1 <!doctype html>
 2 <html>
 3 <body>
 4 
 5 <%
 6 dim username
 7 name="阿三"
 8 response.write("你可以叫我: " & username)
 9 %>
10 
11 </body>
12 </html>
view code

声明他用的dim,我觉得和jqury中那个var类似。都不表示具体的类型,无类型。至于&和c#中的“+”的作用相同,拼接字符串。 

asp根据时间来判定输出什么内容(vb脚本--if语句):

ASP 基础一
 1 <!doctype html>
 2 <html>
 3 <body>
 4 <%
 5 dim h
 6 h=hour(now())
 7 
 8 response.write("<p>" & now())
 9 response.write("</p>")
10 if h<12 then
11    response.write("good morning!")
12 else
13    response.write("good day!")
14 end if
15 %>
16 </body>
17 </html>
view code

因为我现在没有可测试的工具,所以有的想法只能先记录一下。

其实我有点搞不懂为什么要这样单行输出,p标记写在一起应该没啥问题。

if 条件 then 

为true执行 某代码块

else

执行某代码

end if    以它说明整个if语句结束。

asp数组使用for循环遍历取值:

ASP 基础一
 1 <!doctype html>
 2 <html>
 3 <body>
 4 
 5 <%
 6 dim name(5),i
 7 name(0) = "a"
 8 name(1) = "b"
 9 name(2) = "c"
10 name(3) = "d"
11 
12 for i = 0 to 3
13       response.write(name(i) & "<br>")
14 next
15 %>
16 
17 </body>
18 </html>
view code

看着这个to就有点懵,后来通过栗子发现,它表示从0到3,且等于3。与c#中有点差别,呐你看

for (i=0;i<4;i++)

{}

asp子程序

当用vbscript编写的asp文件调用vbscript或javascript子程序时,可以使用call关键字调用,后面跟子程序名称。

ASP 基础一
 1 <!doctype html>
 2 <html>
 3 <head>
 4 <%
 5 sub vbproc(num1,num2)
 6 response.write(num1*num2)
 7 end sub
 8 %>
 9 </head>
10 <body>
11 
12 <p>result: <%call vbproc(3,4)%></p>
13 
14 </body>
15 </html>
view code

如果子程序需要参数,分两种情况:

使用call,参数必须在括号里面,即参数必须用括号括起来。

不使用call,参数则不需要用括号括起来。<%vbproc 3,4 %>;

如果子程序不需要参数参数,括号可选,括不括看你个人爱好。

当用javascript编写的asp文件调用vbscript或javascript子程序时,必须在子程序后面使用括号

子程序就好比如jqury中的方法,funcation zcx(){},我第一次听到这个名词的时候有点糊。

asp表单

request.querystring收集的是method=“get”的表单中的值。

ASP 基础一
 1 <!doctype html>
 2 <html>
 3 <body>
 4 <form action="demo_reqquery.asp" method="get">
 5 your name: <input type="text" name="fname" size="20" />
 6 <input type="submit" value="submit" />
 7 </form>
 8 <%
 9 dim fname
10 fname=request.querystring("fname")
11 if fname<>"" then
12       response.write("hello " & fname & "!<br>")
13       response.write("how are you today?")
14 end if
15 %>
16 </body>
17 </html>
view code

该方法从表单传出的信息对所有的用户是可见的(如输出的值会显示在网页的地址栏上),对发送的信息的数量也有限制。

request.form收集使用method=“post”的表单中的值,信息不可见,且数量没有限制。

ASP 基础一
 1 <!doctype html>
 2 <html>
 3 <body>
 4 <form action="demo_simpleform.asp" method="post">
 5 your name: <input type="text" name="fname" size="20" />
 6 <input type="submit" value="submit" />
 7 </form>
 8 <%
 9 dim fname
10 fname=request.form("fname")
11 if fname<>"" then
12       response.write("hello " & fname & "!<br>")
13       response.write("how are you today?")
14 end if
15 %>
16 </body>
17 </html>
view code

对于表单中取到值,用 & &包裹起来,类似于在ado.net写数据的增删改中,数据库中的每一项用“+ +”包裹起来一样;而前面也看到了,在输出变量时,只用&开头,这里有点小疑问。感觉都是包裹一个变量数据,都统一用&&包裹或&开头行不行?