热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ASP语言的特点

本文主要介绍关于asp,语言,application,session,microsoft,vbscript的知识点,对【ASP语言的特点】和【有哪些优缺点】有兴趣的朋友可以看下由【cmoremore】

本文主要介绍关于asp,语言,application,session,microsoft,Vbscript的知识点,对【ASP语言的特点】和【有哪些优缺点】有兴趣的朋友可以看下由【cmoremore】投稿的技术文章,希望该技术和经验能帮到你解决你所遇的【Asp】相关技术问题。

有哪些优缺点

ASP语言的特点

1.允许使用Vbscript或Javascript简易Script语言,并可在文件中结合Html;
2.无需编译,由WEBserver执行产生;
3.与任何ActiveX Script兼容;
4.ASP原始代码不会传到客户端,客户端显示的是执行结果。

表单语法:

content ;

类型:

;

;

;

;















语法:

[n [..]]
warning! 无框架提示;

控制框架内容: 就可以了。

用Javascript: Document.frame.StrFrameName.Location="StrSrc";

Vbscript常用函数:

1.数值型函数:

abs(num): 返回绝对值
sgn(num): num>0 1; num=0 0; num<0 -1;判断数值正负
hex(num): 返回十六进制值 直接表示:&Hxx 最大8位
oct(num): 返回八进制值 直接表示:&Oxx 最大8位
sqr(num): 返回平方根 num>0
int(num): 取整 int(99.8)=99; int(-99.2)=100
fix(num): 取整 fix(99.8)=99; fix(-99.2)=99
round(num,n): 四舍五入取小数位 round(3.14159,3)=3.142 中点数值四舍五入为近偶取整 round(3.25,1)=3.2
log(num): 取以e为底的对数 num>0
exp(n): 取e的n次幂 通常用 num^n
sin(num): 三角函数,以弧度为值计算 (角度*Pai)/180=弧度 con(num); tan(num); atn(num)

2.字符串函数:

len(str):计算字符串长度 中文字符长度也计为一!
mid(str,起始字符,[读取长度]):截取字符串中间子字符串
left(str,nlen):从左边起截取nlen长度子字符串
right(str,nlen):从右边起截取nlen长度子字符串
Lcase(str):字符串转成小写
Ucase(str):字符串转成大写
trim(str):去除字符串两端空格
Ltrim(str):去除字符串左侧空格
Rtrim(str):去除字符串右侧空格
replace(str,查找字符串,替代字符串,[起始字符,替代次数,比较方法]):替换字符串
?????? 注:默认值:起始字符 1;替代次数 不限;比较方法 区分大小写(0)
InStr([起始字符,]str,查找字符串[,比较方法]):检测是否包含子字符串 可选参数需同时选 返回起始位置
InStrRev(str,查找字符串[,起始字符][,比较方法]):反向检测是否包含子字符串 返回起始位置
space(n):构造n个空格的字符串
string(n,str):构造由n个str第一个字符组成的字符串
StrReverse(str):反转字符串
split(str,分割字符串[,次数][,比较方法]):以分割字符串为分割标志将字符串转为字符数组 可选参数需同时选

3.数据类型转换函数:
Cint(str):转换正数 True -1;False 0;日期 距离1899/12/31天数;时间 上午段 0;下午段 1;
Cstr(str):日期 输出格式 yyyy/mm/dd;时间 输出格式 Am/Pm hh:mm:ss
Clng(str):与Cin()类似
Cbool(num):num不为零 True;反之 False
Cdate(str):转换日期格式 0:#Am 12:00:00#;正数 距离1899/12/31天数的日期;浮点数 日期+小数时间
Cbyte(num):num<255 转换为字节
Csng(str):转换为单精度数值
Cdbl(str):转换为双精度数值
Ccur(str):转换为现金格式

4.时间函数:
date:取系统当前日期
time:取系统当前时间
now:取系统当前时间及日期值 Datetime类型
timer:取当前时间距离零点秒值,计时器,可计算时间差
DateAdd(间隔单位,间隔值,日期):推算相邻日期
DateDiff(间隔单位,日期一,日期二):计算时间差 日期二-日期一
Datepart(间隔单位,日期):计算日期的间隔单位值
Dateserial(date):输出日期值(按序列计算)
Timeserial(time):输出时间值(按序列计算)
DateValue(datetime):取出字符串中日期值
Timevalue(datetime):取出字符串中时间值
weekday(date):计算星期几
MonthName(date):输出月分名
year(datetime):截取年份
month(datetime):截取月份
day(datetime):截取日
hour(datetime):截取小时
minute(datetime):截取分钟
second(datetime):截取秒

5.其它函数:
Array(unit,..):动态生成数组
Asc(str):输出字符串第一个字符的ASCII码
Chr(asc):转换ASCII为字符 Enter:Chr(13)&Chr(10)
Filter(数组名称,关键字符串,[,包含][,比较方法]):
????? 将字符串数组中含有关键字符串的元素存成新的数组(默认) [包含]为false则取不包含的元素
Join(ArrayName):将数组中元素连成字符串
Ubound(ArrayName[,维数]):取得数组相应维数的上界
Lbound(ArrayName[,维数]):取得数组相应维数的下界 一般为0
Randmize n:启动随机数种子
Rnd(n):取得随机数,n>0或为空,取序列下一随机值,n<0,随机值相同,n=0,生产与上一随机值相同的数
??????? 取介于A和B之间的随机正数C,公式:C=Int((B-A+1)*Rnd+A) 条件(B>A)

子程序和自定义函数

Sub StrSubName??????????????? Function StrFunName(arg[1],..)
子程序体????????????????????? 函数体
Exit Sub? 中途跳出??????????? Exit Function???? 中途跳出
End Sub?????????????????????? StrFunName=Value 返回值
????????????????????????????? End Function
[call] StrSubName 引用子程序? Var=StrFunName(arg[1],..)? 引用函数

子程序和自定义函数可以递归调用;

ASP六大对象常用语句示范:

Response:

Response.write StrVar/"String":向网页写出参数值或字符串? 等同于在Html标记中嵌入<%=StrVar/"String"%>
Response.End:停止页面编译,并将已经编译内容输出到浏览器
Response.Buffer=True|False:页面编译时是否使用缓存的设置,一般在页面头部设置
Response.Flush:强制输出页面已编译部分内容
Response.Clear:将缓冲区内的数据清除
Response.Redirect URL:停止页面编译或输出,转载指定所需页面
Response.IsClientConnected:返回True|False,检测用户是否还处于连接状态
Response.Charset(CharsetName):设置页面编码类型,即
Response.ContentType [= ContentType ]:设置页面文件类型,同上
Response.Expires [= number]:设置页面失效时间,单位分钟
Response.ExpiresAbsolute [= [date] [time]]:设置页面失效的绝对时间
Response.Status = StatusDescription:设置页面状态描述

Request:

Request("PassStrName"):读取网页传递值,包括表单及以?PassStrName=value&PassStrName_n=value_n形式
Request[.collection|property|method](variable)
Request.querystring("PassStrName"):读取Get方法传递的表单值和?PassStrName=value
Request.QueryString(Varible)[(Index).Count]
Request.form("PassStrName"):读取Post方法传递的纯表单域的值
Request.Form(Parameter)[(Index).Count]
Request.ServerVaribles(Server Environment Variable):读取客户端系统环境变量,详见参考
Request.BinaryRead(Count):读取指定字节数的传送值
Request.TotalBytes:查询体的长度,以字节为单位,只读

注:同名表单如:CheckBox如有多项值,传递形式如右,StrName=value1,value2,...需要用Split函数分割各项值
??? Multiple的Select表单与CheckBox类似,TextArea的值可包含换行字符,用Replace转为
,以满足格式需要

Session:(用户全局变量)

Session("SesName")=value:存储Session变量值,也可读取该值
Session("SesName")=Empty:判断Session值是否存在的两种方法
IsEmpty(Session("SesName"))=True|False:判断Session值是否存在的两种方法
Session.TimeOut=num:设置Session变量的存在时效,单位分钟
Session.Abandon:清除所有Session变量值
Session.SessionID:Session变量的ID序列号,只读

Application:(应用程序全局变量)

Application("AppName")=value:存储Application变量值,也可读取该值
Application("AppName")=Empty:判断Application值是否存在的两种方法
IsEmpty(Application("AppName"))=True|False:判断Application值是否存在的两种方法
Application.Lock:Application变量值锁定,防止同时更改变量值
Application.UnLock:Application变量值解锁,允许更改变量值

注:Session与Application变量都可以用来存储数组和系统对象,引用方法是变量名相当于数组名而已,
??? 但不能直接改变其值,需要借助临时数组修改值后,再赋给Session与Application变量

??? Global.asa文件的结构:<% @language="Vbscript"%>
????????????????????????? <% Sub Application_OnStart ...End Sub
???????????????????????????? Sub Application_OnEnd? ... End Sub
???????????????????????????? Sub Session_OnStart ...End Sub
???????????????????????????? Sub Session_OnEnd? ... End Sub%>
Server:

Server.MapPath("FileUrl"):映射文件名的服务器站点绝对地址,Path=Server.MapPath(./)可以得到虚拟目录根路径
Server.HtmlEncode("string"):转换为可以直接显示带Html格式的字符串,如:<,>等
Server.URLEncode( "string"):转换为浏览器地址编码
set Var=Server.CreatObject("ObjName"):创建对象变量
Server.ScriptTimeout = NumSeconds:ASP程序页面执行时限,以秒为单位

COOKIEs: 存储在用户本机的临时变量,每个COOKIE的最大字节4KB,最多可以有300个COOKIE 1.2MB

Response.COOKIEs("StrCOOKIEName")=value:存储COOKIE变量值,也可读取该值
Response.COOKIEs("StrCOOKIEName")="":判断是否为空
Response.COOKIEs("StrCOOKIEName").Expires=Date:变量有效期,以天为单位,小于当前时间立即失效
Response.COOKIEs(COOKIE[(key).Attribute]):标准语法

ObjectContext? 控制ASP的事务处理

ObjectContext.OnTransactionAbort:由放弃的事务处理事件激发,在脚本完成处理后发生
ObjectContext.OnTransactionCommit:由成功的事务处理事件激发,在脚本完成处理后发生
ObjectContext.SetAbort:显式的放弃一次事务处理
ObjectContext.SetComplete:覆盖前面任何调用ObjectContext.SetAbort方法的调用

Msgbox "string"/StrName:Vbscript提示框

表单的Onsubmit事件:在同一页面写入 Function FormName_onsubmit()..FormName_onsubmit=True/False..end Function,
??????????????????? 页面会在提交前先执行语句,并根据返回值判断是否完成提交任务。

数据库连接字符串举例:

Access2000:
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("dbase/liuyan.mdb")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("dbase/liuyan.mdb")&";Password=admin"
Recordset.Open "数据表名", conn, 2, 2

SqlServer2000:
conn.Open "Provider=SQLOLEDB.1;User ID=sa;Password=admin;Initial Catalog=pubs;Data Source=server/garlmrm"
conn.Open "provider=SQLOLEDB;data source=hyserver;uid=sa;pwd=;database=pubs"
Recordset.Open StrSQL, conn, 2, 2

Dbase:(?)
conn Open "Driver={Microsoft dBase Driver};SourceType=DB;SourceDB=" & Server.MapPath( "目录名" )
Recordset.Open StrSQL, conn, 2, 2

FoxBase:
conn Open "Driver={Microsoft Visual FoxPro Driver};SourceType=DBF;SourceDB=" & Server.MapPath( "目录名" )
Recordset.Open DBF文件名或Select语句, conn, 2, 2
conn Open "Driver={Microsoft Visual FoxPro Driver};SourceType=DBC;SourceDB=" & Server.MapPath( "DBC数据库文件名" )
Recordset.Open DBF文件名或Select语句, conn, 2, 2

Excel:
conn Open "Driver={Microsoft Excel Driver (*.xls)};DBQ=" & Server.MapPath( "XLS文件名" )
Recordset.Open "Select * From ["&sheet&"$]",conn,2,2

注:使用DBF、DBC、Excel数据库,下面几点要注意:Excel数据库只能读取、增加记录、修改记录,但不能删除记录;
??? DBF、DBC可以读取记录、增加记录、删除记录、修改记录,但是在增加记录时,任何一个字段值都不能为空,由此
??? 可看出局限性很大,所以尽可能地用MDB或SQL数据库。

本文《ASP语言的特点》版权归cmoremore所有,引用ASP语言的特点需遵循CC 4.0 BY-SA版权协议。


推荐阅读
  • 正则表达式及其范例
    为什么80%的码农都做不了架构师?一、前言部分控制台输入的字符串,编译成java字符串之后才送进内存,比如控制台打\, ... [详细]
  • loader资源模块加载器webpack资源模块加载webpack内部(内部loader)默认只会处理javascript文件,也就是说它会把打包过程中所有遇到的 ... [详细]
  • 巧用arguments在Javascript的函数中有个名为arguments的类数组对象。它看起来是那么的诡异而且名不经传,但众多的Javascript库都使用着它强大的功能。所 ... [详细]
  • 本文介绍了解决Netty拆包粘包问题的一种方法——使用特殊结束符。在通讯过程中,客户端和服务器协商定义一个特殊的分隔符号,只要没有发送分隔符号,就代表一条数据没有结束。文章还提供了服务端的示例代码。 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • 1,关于死锁的理解死锁,我们可以简单的理解为是两个线程同时使用同一资源,两个线程又得不到相应的资源而造成永无相互等待的情况。 2,模拟死锁背景介绍:我们创建一个朋友 ... [详细]
  • 纠正网上的错误:自定义一个类叫java.lang.System/String的方法
    本文纠正了网上关于自定义一个类叫java.lang.System/String的错误答案,并详细解释了为什么这种方法是错误的。作者指出,虽然双亲委托机制确实可以阻止自定义的System类被加载,但通过自定义一个特殊的类加载器,可以绕过双亲委托机制,达到自定义System类的目的。作者呼吁读者对网上的内容持怀疑态度,并带着问题来阅读文章。 ... [详细]
  • 图像因存在错误而无法显示 ... [详细]
  • 本文介绍了一个从入门到高手的VB.NET源代码,通过学习这些源代码,可以在21天内成为VB.NET高手。文章提供了下载地址,并提醒读者加入作者的QQ群和收藏作者的博客。 ... [详细]
  • 本文详细介绍了使用C#实现Word模版打印的方案。包括添加COM引用、新建Word操作类、开启Word进程、加载模版文件等步骤。通过该方案可以实现C#对Word文档的打印功能。 ... [详细]
  • 如何优化Webpack打包后的代码分割
    本文介绍了如何通过优化Webpack的代码分割来减小打包后的文件大小。主要包括拆分业务逻辑代码和引入第三方包的代码、配置Webpack插件、异步代码的处理、代码分割重命名、配置vendors和cacheGroups等方面的内容。通过合理配置和优化,可以有效减小打包后的文件大小,提高应用的加载速度。 ... [详细]
  • 本文整理了Java中org.apache.solr.common.SolrDocument.setField()方法的一些代码示例,展示了SolrDocum ... [详细]
  • asp中如何嵌入python的简单介绍
    本文目录一览:1、如何在IIS中执行Python脚本 ... [详细]
  • vb.net面试题,请大家帮忙,谢谢。如果需要讲详细一点,那就加我QQ531412815第4题,潜在的错误,这里的错误不是常规错误,属于那种只有在运行是才知道的错误:Catchex ... [详细]
  • asp.net(vb脚本)如何获取xml的节点值?xmlversion1.0encodingutf-8?rootimageimagemenusmenuurl#frame_paren ... [详细]
author-avatar
cl357_475
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有