繁体中文
设为首页
加入收藏
当前位置:ASP技术首页 >> ASP基础 >> ASP开发技巧集锦 选择自 caoxicao 的 Blog

ASP开发技巧集锦 选择自 caoxicao 的 Blog

2005-11-15 08:00:00  作者:  来源:互联网  浏览次数:0  文字大小:【】【】【
简介:11. 报错并返回 if rs.bof and rs.eof then ‘还是有问题 response.write"alert('找不到!');" response.write"javascript:history.go(-1)" end if -----------------------------...

11. 报错并返回

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

response.write""

end if

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

这个是跳转。

12. 从VBS到JS,混用

<%

dim checkpwdconfig

checkpwdconfig=split(addation,"/")

%>

13. 弹出窗口

用一个连接调用:

请修改密码 onClick="openaddnew()"

图片调用:

.gif" onClick="openaddnew()">

14. 分页

<%

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

%>

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

共<%=rs.recordcount%>条,<%=pageno%>/<%=int(rs.pagecount)%>页,每页<%=rs.pagesize%>条

首页

<%if pageno>1 then%>

上一页

<%

end if

if int(pageno)<>int(rs.pagecount)then

%>

下一页

<%end if%>

尾页

<%rs.close%>

<%

call CloseConn()

%>

15. 数据库更新

sql="select * from [user] where username='"&request("username")&"'"

rs.Open sql,Conn,1,3

rs("usermail")=Request("usermail")

rs("userhome")=Request("userhome"))

rs.update

rs.close

16. 关闭独立窗口

17. 极细表格

 

18. 几个正则表达式

Require : /.+/,

Email : /^\w+([-+.]\w+)*@\w+([-.]\\w+)*\.\w+([-.]\w+)*$/,

Phone : /^((\(\d{3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}$/,

Mobile : /^((\(\d{3}\))|(\d{3}\-))?13\d{9}$/,

Url : /^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/,

IdCard : /^\d{15}(\d{2}[A-Za-z0-9])?$/,

Currency : /^\d+(\.\d+)?$/,

Number : /^\d+$/,

Zip : /^[1-9]\d{5}$/,

QQ : /^[1-9]\d{4,8}$/,

Integer : /^[-\+]?\d+$/,

Double : /^[-\+]?\d+(\.\d+)?$/,

English : /^[A-Za-z]+$/,

Chinese : /^[\u0391-\uFFE5]+$/,

UnSafe :/^(([A-Z]*|[a-z]*|\d*|[-_\~!@#\$%\^&\*\.\(\)\[\]\{\}<>\?\\\/\'\"]*)|.{0,5})$|\s/,

19. Left应用(控制字数)

function title(str)

if len(trim(str))>=28 then

title=left(trim(str),27)&"..."

else

title=trim(str)

end if

end function

20. 判断浏览器

21. 嵌入另一页

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

其实也可以用

22. 全部选定

引用:

选中本页显示的所有

小格:

">

23. 如何处理页面执行时发生的错误?

<%@ LANGUAGE="VBScript" %>

<%

Response.Buffer = True ' 打开页面缓冲

On Error Resume Next ' 打开错误处理

…………' ASP代码

%>

<%

If Err.Number <> 0 Then ' 错误处理

Response.Clear ' 清除缓冲区

%>

' 显示错误信息页面

页面错误报告

页面错误报告

错误号:<%= Err.Number %>

错误描述:<%= Err.Description %>

错误源:Source <%= Err.Source %>

错误发生行:<%= Err.Line %>

<%

End If

%>

24. 收藏夹图标.

在 HEAD 部分加入下面的内容:

在地址栏加入图标(图标必须是.ico格式,并且要加入收藏后才有效)

在HEAD里加入

25. 校验提交表单(正则表达式应用)

统一一下,以后都这样写

26. 循环

<%

dim sql,rs

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

sql="select * from news where bigclassname='解决方案'"

rs.open sql,conn,1,3

for k=1 to rs.recordcount

if rs.eof then

exit for

else

%>

asfasdf

<%

rs.movenext

end if

next

%>

27. 另一个只能输入数字代码

28. 有选择显示

function showco(va)

{

if (va=="CO")

{

RefNum.style.display=''; //不再用这个可以直接用 block

buttonsp.style.display='none';

}

if (va=="SP")

{

buttonco.style.display='none';

buttonsp.style.display='';

kokey.style.display='';

}

if (va=="Inventory")

{

RefNum.style.display='none'; //不显示

Reftr.style.display="block"; //显示

}

调用:

选择显示行 也可以用

29. 调试参数显示规范

Response.Write session("LoginCompanyId")&","&Date&","&Request.Form("Owner")&","&Request.Form("Name")&

//注意最后没有"只是在,之间用"," 其他用&&引用即可

//也就是说只是用 &","& 中间加一个逗号,其他的该怎么写,就怎么写

Response.End

30. 从数据库填充下拉菜单

<%

sql = "select * from BigClass"

rs.open sql,conn,1,1

%>

//以下是新方法

31. 确认操作

function ConfirmDel()

{

if(confirm("确定要删除吗?一旦删除将不能恢复!"))

return true;

else

return false;

}

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

我自己用的一个。

function ConfirmReset()

{

if(confirm("确定取消操作吗?一旦取消操作将不能恢复!"))

window.form1.reset();

// return true;

}

32. indexOf() 用法

<字符串对象>.indexOf(<另一个字符串对象>[, <起始位置>]);

该方法从<字符串对象>中查找<另一个字符串对象>(如果给出<起始位置>就忽略之前的位置),如果找到了,就返回它的位置,没有找到就返回“-1”。所有的“位置”都是从零开始的。

eg. Str.indexOf(“AP”)>-1 说明str中存在”AP”字符串

33. 生成流水号

<%

if request.form("Modf") <> "" then

Dim rs

Dim sql

Dim BugID

dim today

today=date()

toyear=year(today)

toyear=toyear*10000

tomonth= month(today)

tomonth=tomonth*100

tonow=day(today)

Serialnum = toyear + tomonth + tonow

Serialnum = Serialnum*10000+1

set rs = Server.CreateObject("ADODB.recordset")

sql = "select top 1 * from buglist order by SubmitDate desc"

rs.open sql,conn,1,3

if not rs.eof then

Dim OldSerialnum

OldSerialnum = Rs("BugID")

OldSerialnum = right(OldSerialnum,12)

Serial = right(Serialnum,12)

if OldSerialnum - Serial >= 0 then

Serialnum = OldSerialnum + 1

end if

end if

BugID = "ES"&request("ProductVersion")&Serialnum

34. 响应回车

function getdata(what,whatid)

{

if (event.keyCode==13)

……

35. 关闭窗口前刷新父页面

response.write ""

36. JS事件

事件 / 描述

onblur 事件 发生在窗口失去焦点的时候。

onchange 事件 发生在文本输入区的内容被更改,然后焦点从文本输入区移走之后。

onclick 事件 发生在对象被单击的时候。

onerror 事件 发生在错误发生的时候。

onfocus 事件 发生在窗口得到焦点的时候。

onload 事件 发生在文档全部下载完毕的时候。

onmousedown 事件 发生在用户把鼠标放在对象上按下鼠标键的时候。参考 onmouseup 事件。

onmouseout 事件 发生在鼠标离开对象的时候。参考 onmouseover 事件。

onmouseover 事件 发生在鼠标进入对象范围的时候。

onmouseup 事件 发生在用户把鼠标放在对象上鼠标键被按下的情况下,放开鼠标键的时候。

onreset 事件 发生在表单的“重置”按钮被单击(按下并放开)的时候。

onresize 事件 发生在窗口被调整大小的时候。

onsubmit 事件 发生在表单的“提交”按钮被单击(按下并放开)的时候。

onunload 事件 发生在用户退出文档(或者关闭窗口,或者到另一个页面去)的时候。

onSelect 当Text或Textarea对象中的文字被加亮后,引发该事件。

onFocus 当用户单击Text或textarea以及select对象时,产生该事件。

onBlur 当text对象或textarea对象以及select对象不再拥有焦点、而退到后台时,引发该文件.

onDragDrog 拖放时发生

onLoseCapture

onDblClick 鼠标双击事件

onKeyPress 当键盘上的某个键被按下并且释放时触发的事件.[注意:页面内必须有被聚焦的对象]

onKeyDown 当键盘上某个按键被按下时触发的事件[注意:页面内必须有被聚焦的对象]

onKeyUp 当键盘上某个按键被按放开时触发的事件[注意:页面内必须有被聚焦的对象]

onAbort 图片在下载时被用户中断

onBeforeUnload 当前页面的内容将要被改变时触发的事件

onMove 浏览器的窗口被移动时触发的事件

37. 自动最大化

function window_onload()

{

window.moveTo(-2,-2);

window.resizeTo(screen.availWidth, screen.availHeight);

}

38. 几个SQL技巧

SELECT Area,Territory,username,sum(dealqty) DealQty,count(Projectnum) ProjectQty,sum(TotalAmount) TotalAmountQty,sum(TotalPowerRT) TotalPowerRT FROM VW_PreviewTerritory where username = '段龙义' group by area,Territory,username

只要把不需要统计的东西分组就可以了。

select area,count(projectnum) TotalProjectQty,sum(DealQty) TotalDealQty,sum(TotalAmount) TotalAmountQty,sum(TotalPowerRT) TotalPowerRTQty from vw_previewProject where username = 'admin' group by area

这个也是一样,记住:count() 只是计数,不管这个字段值是多少。sum()是求和,把所有加在一起。

39. Eval用法

eval("ProducingArea"+i+".style.display = 'none' ;");

单引号不影响

eval("if((window.form1.ProductBaseType"+i+".value!='' && window.form1.ProductBaseType"+(i+1)+".value =='')==true);");

//错误!

if(eval("window.form1.ProductBaseType"+i+".value!='' && window.form1.ProductBaseType"+(i+1)+".value ==''")==true)

//以后记得凡是有if判断的,把eval("")写在里面,就比较好!

if(confirm(eval("'确信要在'+window.form1.ProductBaseType"+(i)+".value+'后添加子类?'")))

40. 窗口关闭之前

function window_onbeforeunload(Projectnum)

{

if (event.clientX > document.body.clientWidth && event.clientY < 0 )

{

var oXMLHTTP = new ActiveXObject("Microsoft.XMLHTTP");

oXMLHTTP.open("POST","CheckProjectDeal.asp?Projectnum="+Projectnum,false);

oXMLHTTP.send();

Str=unescape(oXMLHTTP.responseText);

if (unescape(oXMLHTTP.responseText)!="YES")

{

window.event.returnValue="项目至少需要一个销售机会!";

}

}

}

41. 标准表格

***************

* 这个是标题

***************

<%response.write Application("LProductManage"&session("LanguageId"))%>

***************

* 这个是横线

***************

***************

* 这个是表格

***************

<%=application("Lstatus"&session("languageid"))%> <%=application("LSaleStage"&session("languageid"))%>

边框\填充 = 0

间隔 = 1

底色 = #d0d090

42. 这也行

for i=2 to num

BaseTypeAllPArr = request("BaseType"&i&"P"&jLoop)&":"&BaseTypeAllPArr

response.Write " OOOO "&request("BaseType"&i&"P"&jLoop)&" OOOO
"

next

43. 标准注释头

'' ******************************************************************

'' 文件名:

'' Copyright (c) 2001-2005 ××信息技术公司软件部

'' 功能描述:产品编辑

'' 参数

'' 牵涉数据表,视图,存储过程:自定义函数dbo.GetSubTreeinfo

'' 包含的文件:

'' 调用的公用函数,类,方法

'' 创建人:Kokey YU

'' 日 期: 2005-8-9

'' 修改人:

'' 日 期:

'' 修改说明:

'' 版 本:

'' ******************************************************************/

44. title换行

把鼠标放上来

责任编辑:admin
相关文章