标签:simple 分享图片 基本语法 数组使用 作用 vbscrip 循环 NPU 字符
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变量的声明和使用:
1 <!DOCTYPE html> 2 <html> 3 <body> 4 5 <% 6 Dim UserName 7 name="阿三" 8 response.write("你可以叫我: " & UserName) 9 %> 10 11 </body> 12 </html>
声明他用的Dim,我觉得和JQury中那个var类似。都不表示具体的类型,无类型。至于&和C#中的“+”的作用相同,拼接字符串。
ASP根据时间来判定输出什么内容(VB脚本--IF语句):
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>
因为我现在没有可测试的工具,所以有的想法只能先记录一下。
其实我有点搞不懂为什么要这样单行输出,P标记写在一起应该没啥问题。
if 条件 then
为True执行 某代码块
else
执行某代码
end if 以它说明整个if语句结束。
ASP数组使用For循环遍历取值:
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>
看着这个to就有点懵,后来通过栗子发现,它表示从0到3,且等于3。与C#中有点差别,呐你看
For (i=0;i<4;i++)
{}
ASP子程序
当用VBScript编写的ASP文件调用VBScript或JavaScript子程序时,可以使用call关键字调用,后面跟子程序名称。
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>
如果子程序需要参数,分两种情况:
使用call,参数必须在括号里面,即参数必须用括号括起来。
不使用call,参数则不需要用括号括起来。<%vbproc 3,4 %>;
如果子程序不需要参数参数,括号可选,括不括看你个人爱好。
当用JavaScript编写的ASP文件调用VBScript或JavaScript子程序时,必须在子程序后面使用括号。
子程序就好比如JQury中的方法,funcation zcx(){},我第一次听到这个名词的时候有点糊。
ASP表单
request.QueryString收集的是method=“get”的表单中的值。
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>
该方法从表单传出的信息对所有的用户是可见的(如输出的值会显示在网页的地址栏上),对发送的信息的数量也有限制。
request.Form收集使用method=“post”的表单中的值,信息不可见,且数量没有限制。
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>
对于表单中取到值,用 & &包裹起来,类似于在ADO.net写数据的增删改中,数据库中的每一项用“+ +”包裹起来一样;而前面也看到了,在输出变量时,只用&开头,这里有点小疑问。感觉都是包裹一个变量数据,都统一用&&包裹或&开头行不行?
标签:simple 分享图片 基本语法 数组使用 作用 vbscrip 循环 NPU 字符
原文地址:https://www.cnblogs.com/qinsikao/p/8931987.html