• ASP 基础一


    ASP是什么?

    •ASP代表Active Server Pages(动态服务器页面)

    •需在IIS中运行的程序

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

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

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

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

    response.write 打印语句

    这里它没有多大的约束,加不加括号都无所谓,比如:

    dim str

    response.write str || response.write(str)

    response.Write("<script>alert('"&temp&"')</script>")

    在调试代码的时候,用上面的打印结果可能看不到正确的显示。

    dim rs_Status,sql

    sql = "select s_Status from t_User where Name='"&Name&"'"

    set rs_Status = conn.Execute(sql)

    response.Write (rs_Status("s_Status"))
    Response.end

    rs_Status.Close
    Set rs_Status=Nothing

    在这里,打印赋值的变量,需要指明字段名,如果不指定会报错。

    IF条件语句

    if 条件 then 

    为True执行 某代码块

    else

    执行某代码

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

    需要注意的是,js中用&&连接,vb中用and连接条件,js中的!=在vb中用<>

    在写多个if条件时,elseif不要分开,分开有时候可以,有时候就报错,我也不知道咋回事。

    if xx then

    elseif xx then

    elseif xx then

    end 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>
    View Code

    看着这个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>
    View Code

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

    使用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>
    View Code

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

    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>
    View Code

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

    与忘记某些内容重新再去学相比,做笔记更适合我这种懒的再去学一遍的人。
  • 相关阅读:
    Android 百度地图开发(一)--- 申请API Key和在项目中显示百度地图
    Session,Cookie,jsessionid,Url重写
    PHP输出当前进程所有变量 / 常量 / 模块 / 函数 / 类
    table自适应宽度
    python学习笔记1(字符串操作)
    jquery-select选中
    dos命令大全
    dos命令之创建文件,文件夹
    PHP中逻辑运算符的高效用法---&&和||
    apache vhost
  • 原文地址:https://www.cnblogs.com/qinsikao/p/8931987.html
Copyright © 2020-2023  润新知