ASP 基础一
ASP是什么?
•ASP代表Active Server Pages(动态服务器页面)
•需在IIS中运行的程序
我自己的理解就是UI和逻辑代码同在一个页面中,而缺点就是不易维护。code-Behind是asp.net中的术语(代码后置),它的出现解决了这一问题。
ASP基本语法:
ASP的脚本代码都是用<% %>包裹起来的。
response.write输出语句
<!DOCTYPE html>
<html>
<body>
<%
response.write("我爱你")
%>
</body>
</html>
也可以简写成<%
="我爱你"
%>
ASP主要使用两种脚本语言,分别是VBScript和JavaScript,其中页面默认是VB,如果需要指定,在页面顶部插入<%@ language="JavaScript" %>来说明。
VB对于大小写不敏感,js则敏感,需要注意。同时我自己觉得vb语法比较随意,先学的是ASP.NET,C#的语法就较为规范一点。最起码写完给个;号以表示结束,ASP就不用分号结尾。
ASP变量的声明和使用:
<!DOCTYPE html>
<html>
<body> <%
Dim UserName
name="阿三"
response.write("你可以叫我: " & UserName)
%> </body>
</html>
声明他用的Dim,我觉得和JQury中那个var类似。都不表示具体的类型,无类型。至于&和C#中的“+”的作用相同,拼接字符串。
ASP根据时间来判定输出什么内容(VB脚本--IF语句):
<!DOCTYPE html>
<html>
<body>
<%
dim h
h=hour(now()) response.write("<p>" & now())
response.write("</p>")
If h< then
response.write("Good Morning!")
else
response.write("Good day!")
end if
%>
</body>
</html>
因为我现在没有可测试的工具,所以有的想法只能先记录一下。
其实我有点搞不懂为什么要这样单行输出,P标记写在一起应该没啥问题。
if 条件 then
为True执行 某代码块
else
执行某代码
end if 以它说明整个if语句结束。
ASP数组使用For循环遍历取值:
<!DOCTYPE html>
<html>
<body> <%
Dim Name(),i
Name() = "A"
Name() = "B"
Name() = "C"
Name() = "D" For i = to
response.write(Name(i) & "<br>")
Next
%> </body>
</html>
看着这个to就有点懵,后来通过栗子发现,它表示从0到3,且等于3。与C#中有点差别,呐你看
For (i=0;i<4;i++)
{}
ASP子程序
当用VBScript编写的ASP文件调用VBScript或JavaScript子程序时,可以使用call关键字调用,后面跟子程序名称。
<!DOCTYPE html>
<html>
<head>
<%
sub vbproc(num1,num2)
response.write(num1*num2)
end sub
%>
</head>
<body> <p>Result: <%call vbproc(,)%></p> </body>
</html>
如果子程序需要参数,分两种情况:
使用call,参数必须在括号里面,即参数必须用括号括起来。
不使用call,参数则不需要用括号括起来。<%vbproc 3,4 %>;
如果子程序不需要参数参数,括号可选,括不括看你个人爱好。
当用JavaScript编写的ASP文件调用VBScript或JavaScript子程序时,必须在子程序后面使用括号。
子程序就好比如JQury中的方法,funcation zcx(){},我第一次听到这个名词的时候有点糊。
ASP表单
request.QueryString收集的是method=“get”的表单中的值。
<!DOCTYPE html>
<html>
<body>
<form action="demo_reqquery.asp" method="get">
Your name: <input type="text" name="fname" size="" />
<input type="submit" value="Submit" />
</form>
<%
dim fname
fname=Request.QueryString("fname")
If fname<>"" Then
Response.Write("Hello " & fname & "!<br>")
Response.Write("How are you today?")
End If
%>
</body>
</html>
该方法从表单传出的信息对所有的用户是可见的(如输出的值会显示在网页的地址栏上),对发送的信息的数量也有限制。
request.Form收集使用method=“post”的表单中的值,信息不可见,且数量没有限制。
<!DOCTYPE html>
<html>
<body>
<form action="demo_simpleform.asp" method="post">
Your name: <input type="text" name="fname" size="" />
<input type="submit" value="Submit" />
</form>
<%
dim fname
fname=Request.Form("fname")
If fname<>"" Then
Response.Write("Hello " & fname & "!<br>")
Response.Write("How are you today?")
End If
%>
</body>
</html>
对于表单中取到值,用 & &包裹起来,类似于在ADO.net写数据的增删改中,数据库中的每一项用“+ +”包裹起来一样;而前面也看到了,在输出变量时,只用&开头,这里有点小疑问。感觉都是包裹一个变量数据,都统一用&&包裹或&开头行不行?
ASP 基础一的更多相关文章
- ASP 基础三 SQL指令
一 增删改查 <% set conn=server.CreateObject("adodb.connection") DSNtemp="DRIVER={SQL Se ...
- ASP 基础二 内置对象
一 Request 二 Response 三 Application 四 Session 五 Server <script language="vbscript" runat ...
- ASP 基础一 基本语法
一 声明变量 二 给变量赋值 三 循环 四 case <html> <head title="test hello world"> </head> ...
- ASP 基础一 网站开发 初步认识
一 .ASP 与 ASP.NET的区别 i.ASP是解释型的动态语言,asp文件包含了前端和动态语言VBScript,来实现对服务器的交互,运行在IIS.PWS等WEB服务器上 II.ASP.NET是 ...
- asp基础
0.1在浏览器中通过查看源代码的方式是无法看到 ASP 源代码的,你只能看到由 ASP 文件输出的结果,而那些只是纯粹的 HTML 而已.这是因为,在结果被送回浏览器前,脚本已经在服务器上执行了. 0 ...
- ASP.NET之旅—再一次与ASP谋面
ASP对我来说已经不是新名词了,因为在一年以前就开始了ASP的学习,那时候虽然效果很不好,但是对ASP还是有了一些最基础的了解.ASP.NET是在ASP基础上增加了一些.NET的一些特性,基础的东西还 ...
- 精通Web Analytics 2.0 (4) 第二章:选择你的网络分析灵魂伴侣的最佳策略
精通Web Analytics 2.0 : 用户中心科学与在线统计艺术 第二章:选择你的网络分析灵魂伴侣的最佳策略 在Web Analytics 2.0的新世界秩序中,您必须跳出"单一真理来 ...
- 入坑IT都快十年了
一起帮的开发直播已经告一段落:一是主体的功能差不多都实现了,二是用到的架构技术都展示得差不多了.以后就算继续开发,也应该都是一些“技术上”重复的工作而已.整个直播过程耗时近半年,SVN提交1062次, ...
- js收藏代码
js收藏代码~ 1. oncontextmenu="window.event.returnValue=false" 将彻底屏蔽鼠标右键 <table border oncon ...
随机推荐
- [Chrome Headless + Python] 截长图 (Take Full-page Screenshot)
# -*- coding: utf-8 -*- import time import os from selenium import webdriver from selenium.webdriver ...
- Spring ConversionService 类型转换(一)Converter
Spring ConversionService 类型转换(一)Converter Spring 系列目录(https://www.cnblogs.com/binarylei/p/10198698.h ...
- 深入理解python里面类的对象的赋值
class T(): def __init__(self): self.name= pass a=T() a.name= b=a #深入理解类,类里面的对象的赋值是指针赋值,也就是同时变的 b.nam ...
- nginx 动静分离 以及 负载均衡配置
测试环境 系统版本:win7 Nginx版本:nginx-1.8.1 Tomcat版本:tomcat-6.0.14 1动静分离配置 Nginx.conf 中 server中 server { list ...
- reduce 之 mixin实现
语法: arr.reduce(callback[, initialValue]) 参数: callback:执行数组中每个值的函数,包含四个参数: accumulator:累加器累加回调的 ...
- tomcat 、eclipse插件安装、一个机器安装多个tomcat、tomcat闪退的问题解决
一.正常情况下 (1)新建三个系统变量:tomcat的安装路径 TOMCAT_HOME=E:\tomcat-6.0.39 CATALINA_HOME=E:\tomcat-6.0.39 CATALINA ...
- idea配置springBoot项目热加载
1.在application.properties中禁用模板引擎缓存 比如freemarker:spring.freemarker.cache=false 2.在pom.xml中添加依赖 <de ...
- 9月list
开学了,我已经是大三的老学姐了,难受! 哇,时间过得好快啊,感觉自己快毕业了,肿么办!!! 9月了,快一年了,其实很多东西都变了,比如你. 9月4日的list:
- 2018.11.07 hdu1465不容易系列之一(二项式反演)
传送门 其实标签只是搞笑的. 没那么难. 二项式反演只是杀鸡用牛刀而已. 这道题也只是让你n≤20n\le20n≤20的错排数而已. 还记得那个O(n)O(n)O(n)的递推式吗? 没错那个方法比我今 ...
- Opencv基本数据类型
1.OpenCV中数据类型和常用数据类型对应 Mat<uchar> CV_8U Mat<char> ...