分享
 
 
 

ASP开发44条技巧集锦之一

王朝asp·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

下一节:ASP开发44条技巧集锦之二

1. 几个常用函数

Round(pi, 2) 四舍五入

FormatNumber(k,4) ' 把 k 格式化为带四位小数点的数。

eg. 如果k =20000则显示为20,000.00;如果把formatnumber(k,0)则为20,000

Replace(expression,find,replacewith) '返回一字符串,其中指定的子串已被另一个子串替换

Left(String,Length) '返回指定数目的从字符串的左边算起的字符串。

Split(expression[, delimiter[, count[, start]]]) '返回基于 0 的一维数组,其中包含指定数目的子字符串。

eg. 常用这个 Split(String,[delimiter]) ' 用delimiter(用于标识子字符串界限的字符)来划分字符串

Instr(String1,String2) '返回某字符串在另一字符串中第一次出现的位置

eg1. if instr(addation,"密码配置表")<>0 then '说明存在

eg2. if instr(str,”AP”) >0 不好区分str = (AP,AP&AC),此时只要变为(’AP’,’AP&AC’),再用instr(str,”’AP’”)

2. 弹出窗口Pick值

function pickupSP(spdisid,pjnum,pdcode)

{

window.opener.<%=theForm%>.RefNum<%=Spid%>.value=spdisid;

window.opener.<%=theForm%>.LineS<%=Spid%>.value=pjnum;

window.opener.<%=theForm%>.kokey<%=Spid%>.value=pdcode;

window.close();

}

3. ASP控制图片显示的大小(等比例缩放)

<HTML>

<HEAD>

<TITLE> New Document </TITLE>

<script language="JavaScript">

<!--

var flag=false;

function DrawImage(ImgD){

var image=new Image();

image.src=ImgD.src;

if(image.width>0 && image.height>0){

flag=true;

if(image.width/image.height>= 164/112){

if(image.width>164){

ImgD.width=164;

ImgD.height=(image.height*164)/image.width;

}else{

ImgD.width=image.width;

ImgD.height=image.height;

}

ImgD.alt=image.width+"x"+image.height;

}

else{

if(image.height>112){

ImgD.height=112;

ImgD.width=(image.width*112)/image.height;

}else{

ImgD.width=image.width;

ImgD.height=image.height;

}

ImgD.alt=image.width+"x"+image.height;

}

}

}

//-->

</script>

</HEAD>

<BODY>

<a href="./img.jpg" target="_blank"><img src="./img.jpg" border="0" width="164" height="112" onload="javascript:DrawImage(this);"></a>

</BODY>

</HTML>

4. ASP中对数据库表的操作(INSERT/UPDATE/DELETE),可使用事务处理,并支持多事务处理.

在ASP的数据库对象链接对象中,提供了一下属性:

BeginTrans 事务开始

CommitTrans 事务提交

RollbackTrans 事务回滚

<%

On Error Resume Next ’错误发生后继续处理

'Asp中使用事务

Set conn=Server.CreateObject("ADODB.Connection")

conn.Open "course_dsn","course_user","course_password"

conn.begintrans '开始事务

sql="delete from user_info"

set rs=server.createobject("adodb.recordset")

rs.open sql,conn,3,3

if conn.errors.count>0 then '有错误发生

conn.rollbacktrans '回滚

set rs=nothing

conn.close

set conn=nothing

response.write "交易失败,回滚至修改前的状态!"

response.end

else

conn.committrans '提交事务

set rs=nothing

conn.close

set conn=nothing

response.write "交易成功!"

response.end

end if

%>

在ASP中,不提供事务的结束,BeginTrans只作用于自己的域,类似于变量声明一样,如果在函数体内BeginTrans,则事物只作用于本函数体,如果BeginTrans在函数体外,处于页面级,则事务的作用域从BeginTrans开始,到页面的结束均处于事务的管理状态下.

5. EasySales数据库操作

dim objCon,objRst,objsql

dim companyid

Set objCon = Server.CreateObject("ADODB.Connection")

objCon.Open SYSDNS,SYSNAME,SYSPASSWORD

Set objRst = Server.CreateObject("ADODB.RecordSet")

objsql="select * from PasswordConfig where companyid='"&session("CompanyID")&"'"

objRst.Open objsql,objCon,1,3

6. html格式邮件发送

HTML = "<html>"

HTML = HTML & "<head>"

HTML = HTML & "<title>Sending CDONTS Email Using HTML</title>"

HTML = HTML & "<link href="../cn/new.css" rel="stylesheet" type="text/css">"

HTML = HTML & "</head>"

HTML = HTML & "<body bgcolor=""FFFFFF"">"

HTML = HTML & "<p><font size=7>"

HTML = HTML & "This is a test mail in html<br>"

HTML = HTML & "Mail content here ...</font></p>"

HTML = HTML & "</body>"

HTML = HTML & "</html>"

dim StrRecEmail,StrPosEmail,StrSubject,StrBody

StrRecEmail=request("email")

StrPosEmail="yufh@alleasy.com.cn"

StrSubject="资料下载通知函"

StrBody=HTML

7. input是下划线

style="BORDER-RIGHT: #f7f7f7 0px solid; BORDER-TOP: #f7f7f7 0px solid; FONT-SIZE: 9pt; BORDER-LEFT: #f7f7f7 0px solid; WIDTH: 110px; BORDER-BOTTOM: #c0c0c0 1px solid; HEIGHT: 16px; BACKGROUND-COLOR: #f7f7f7"

8. Session & Cookie

写入一个SESSION:

Session["username"])="aa";

Session("username")="aa"

读取一个SESSINN:

string username= Session["username"];

dim username=Session("username")

Cookie与此用法大致相同

9. 几个VB中的常数

下列常数由 Visual Basic for Applications 中的类型库定义,可用来在代码中的任何地方代替实际值:

常数 等于 描述

vbCrLf Chr(13) + Chr(10) 回车符与换行符结合

vbCr Chr(13) 回车符

vbLf Chr(10) 换行符

vbNewLine Chr(13) + Chr(10) 平台指定的新行字符;适用于当前平台

vbNullChar Chr(0) 值为 0 的字符

vbNullString 值为 0 的字符串 用来调用外部过程;与长度为零的字符串 ("") 不同

vbObjectError -2147221504 用户定义的错误号应当大于该值,例如:

Err.Raise Number = vbObjectError + 1000

vbTab Chr(9) Tab 字。

vbBack Chr(8) 退格字符

10. 按钮为不可用

<%if rsView.eof and rsView.bof then %> ‘ 这里有个大问题,下文再说

<input name="submit" type='submit' value='对选定用户解鎖' disabled>

<%else%>

<input name="submit" type='submit' value='对选定用户解鎖' >

</td>

<%end if%>

11. 报错并返回

if rs.bof and rs.eof then ‘还是有问题

response.write"<SCRIPT language=JavaScript>alert('找不到!');"

response.write"javascript:history.go(-1)</SCRIPT>"

end if

-----------------------------------

这个是跳转。

<script language="javascript">

alert('<%=intOperationInfo%>');

window.navigate('ChangePwd.asp');

</Script>

12. 从VBS到JS,混用

<%

dim checkpwdconfig

checkpwdconfig=split(addation,"/")

%>

<script language="javascript">

alert("<%=checkpwdconfig(0)%>")

</script>

13. 弹出窗口

<script language=javascript>

function openaddnew()

{

subWindow=window.open("../Edit/PasswordConfigEdit.asp?method=new",'','scrollbars=yes,left=120,top=60,height=250,width=500,menubar=no,location=no,toolbar=no,resizable=yes','')

subWindow.opener = this;

}

</script>

用一个连接调用:

<a href=""#"">请修改密码 onClick="openaddnew()"</a>

图片调用:

<img name=submit1 src="../button_new<%=session("languageid")%>.gif" onClick="openaddnew()">

14. 分页

<!--#include file="conn.asp"-->

<%

if request("pageno")<>"" then

pageno=int(request("pageno"))

else

pageno=1

end if

sql="select * from news where [language]='中文' and bigclassname='新闻' order by id desc"

Set rs= Server.CreateObject("ADODB.Recordset")

rs.open sql,conn,1,3

rs.pagesize=20

if rs.eof then

pageno=0

else

rs.absolutepage=pageno

end if

%>

====================

[1] [2] 下一页

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有