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" οnlοad="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
%>
==========================================
共<%=rs.recordcount%>条,<%=pageno%>/<%=int(rs.pagecount)%>页,每页<%=rs.pagesize%>条
<a href="manage.asp?pageno=1">首页</a>
<%if pageno>1 then%>
<a href="manage.asp?pageno=<%=int(pageno)-1%>">上一页</a>
<%
end if
if int(pageno)<>int(rs.pagecount)then
%>
<a href="manage.asp?pageno=<%=int(pageno+1)%>">下一页</a>
<%end if%>
<a href="manage.asp?pageno=<%=int(rs.pagecount)%>">尾页</a>
<%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. 关闭独立窗口
<head>
<OBJECT id=closes type="application/x-oleobject" classid="clsid:adb880a6-d8ff- 11cf-9377-00aa003b7a11"><param name="Command" value="Close">
</object>
</head>
<body>
<input type="button" value="点击我关闭窗口" οnclick="closes.Click();">
</body>
17. 极细表格
<table border="1" cellpadding="0" cellspacing="0" width="32" height="32" bordercolorlight="#000000" bordercolordark="#FFFFFF">
<tr>
<td> </td>
</tr>
</table>
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. 判断浏览器
<SCRIPT LANGUAGE="javascript1.2">
<!--//
if (navigator.appName == 'Netscape')
var language = navigator.language;
else
var language = navigator.browserLanguage;
if (language.indexOf('en') > -1) document.location.href = 'en/index.asp';
else if (language.indexOf('zh') > -1) document.location.href = 'cn/index.asp';
else
document.location.href = 'cn/index.asp';
// End -->
</script>
21. 嵌入另一页
<iframe class="TBGen" style="top:2px" ID="UploadFiles" src="upload.asp" frameborder=0 scrolling=no width="250" height="25"></iframe>
-------------------------------------
其实也可以用<!--#include file="fuck.asp"-->
22. 全部选定
<SCRIPT language=javascript>
function CheckAll(form)
{
for (var i=0;i<form.elements.length;i++)
{
var e = form.elements[i];
if (e.Name != "chkAll")
e.checked = form.chkAll.checked;
}
}
</script>
引用:
<td width="250" height="30"><input name="chkAll" type="checkbox" id="chkAll" οnclick=CheckAll(this.form) value="checkbox">选中本页显示的所有</td>
小格:
<input name='username' type='checkbox' id="username" value="<%=cstr(rsView("username"))%>">
23. 如何处理页面执行时发生的错误?
<%@ LANGUAGE="VBScript" %>
<%
Response.Buffer = True ' 打开页面缓冲
On Error Resume Next ' 打开错误处理
…………' ASP代码
%>
<%
If Err.Number <> 0 Then ' 错误处理
Response.Clear ' 清除缓冲区
%>
<HTML>' 显示错误信息页面
<HEAD>
<TITLE>页面错误报告</TITLE>
</HEAD>
<BODY BGCOLOR="#C0C0C0">
<font color=red>
<p>页面错误报告</p>
错误号:<%= Err.Number %><BR>
错误描述:<%= Err.Description %><BR>
错误源:Source <%= Err.Source %><BR>
错误发生行:<%= Err.Line %><BR>
</BODY>
</HTML>
<%
End If
%>
24. 收藏夹图标.
在 HEAD 部分加入下面的内容:
<LINK REL="SHORTCUT ICON" HREF=http://www.alleasy.com.cn/alleasy.ico>
在地址栏加入图标(图标必须是.ico格式,并且要加入收藏后才有效)
在HEAD里加入 <link rel="shortcut icon" href="favicon.ico">
25. 校验提交表单(正则表达式应用)
<script language="JavaScript">
<!--
function CheckForm()
{
if (LoginID.value =="")
{
alert("请填写您的登录名!");
LoginID.focus();
return false;
}
var filter=/^/s*[.A-Za-z0-9_-]{5,15}/s*$/;
if (!filter.test(LoginID.value)) {
alert("用户名填写不正确,请重新填写!可使用的字符为(A-Z a-z 0-9 _ - .)长度不小于5个字符,不超过15个字符,注意不要使用空格。");
LoginID.focus();
LoginID.select();
return false;
}
if (Password.value =="")
{
alert("请填写您的密码!");
Password.focus();
return false;
}
var filter=/^/s*[.A-Za-z0-9_-]{5,15}/s*$/;
if (!filter.test(Password.value)) {
alert("密码填写不正确,请重新填写!可使用的字符为(A-Z a-z 0-9 _ - .)长度不小于5个字符,不超
过15个字符,注意不要使用空格。");
Password.focus();
Password.select();
return false;
}
if (Password.value != ConfirmPassword.value)
{
alert("请两次填写的密码不一致,请重新填写!");
ConfirmPassword.focus();
return false;
}
if (CompanyName.value =="")
{
alert("请填写贵公司名称!");
CompanyName.focus();
return false;
}
var filter=/^[a-zA-Z][a-zA-Z0-9._-]*@([a-zA-Z0-9-_]+/.)+(com|gov|net|com/.cn|edu/.cn)$/;
if(!filter.test(document.myform.Email.value)){
alert("邮箱格式不正确!");
document.myform.Email.focus();
return false;
}
myform.submit();
return true;
}
//-->
</SCRIPT>
统一一下,以后都这样写
<form method="POST" name="myform" action="Checkreg.asp" >
</form>
<input type="button" name="Submit" value="提交" onClick="CheckForm();">
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
%>
<tr>
<td>
asfasdf
</td>
</tr>
<%
rs.movenext
end if
next
%>
27. 另一个只能输入数字代码
<script language=java script>
function check(){
if(isNaN(tt.value))
{
alert("必须是数字!");
tt.value="";
}
</script>
<input type="text" name="tt" οnkeyup="check();">
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"; //显示
}
调用:
<select name="RefType" style='width:77pt' onChange="showco(this.value)">
<option value="Inventory">Inventory</option>
<option value="CO" >CO</option>
<option value="SP">SP</option>
</select>
选择显示行 <tr id="Reftr" name="Reftr" style="display:none">也可以用<div id=”Resftr” ></div>
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
%>
<select name="BigClassName" size="1">
<option selected value="<%=trim(rs("BigClassName"))%>"><%=trim(rs("BigClassName"))%></option>
<%
rs.movenext //不能少,否则重复
do while not rs.eof
%>
<option value="<%=trim(rs("BigClassName"))%>"><%=trim(rs("BigClassName"))%></option>
<%
rs.movenext
loop
rs.close
%>
</select>
//以下是新方法
<select name="SrcNo">
<%do while not SrcRs.eof%>
<option value="<%=trim(SrcRs("Cost"))%>"
<%
if Trim(SrcComRs("SrcNo")) = Trim(SrcRs("Cost")) then
response.Write "selected"
end if
%>
><%=trim(SrcRs("Cost"))%>
</option>
<%
SrcRs.movenext
loop
SrcRs.close
%>
</select>
31. 确认操作
function ConfirmDel()
{
if(confirm("确定要删除吗?一旦删除将不能恢复!"))
return true;
else
return false;
}
<form name="del" method="Post" action="Del.asp" οnsubmit="return ConfirmDel();">
==============================================================
我自己用的一个。
function ConfirmReset()
{
if(confirm("确定取消操作吗?一旦取消操作将不能恢复!"))
window.form1.reset();
// return true;
}
<a href="javascript:ConfirmReset();"><img src="button_cance.gif"></a>
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)
……
<input name="SerialNum<%=i%>" type="text" onKeyDown="getdata(window.form1.SerialNum<%=i%>.value,<%=i%>)">
35. 关闭窗口前刷新父页面
response.write "<script language = javascript>"
response.write "javascript:opener.location.reload(); "
response.write "javasript:window.close();</script>"
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);
}
<body οnlοad="window_onload()">
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. 标准表格
***************
* 这个是标题
***************
<table cellspacing=0 cellpadding=0 width="100%" border=0>
<tr>
<td class=title nowrap align=left>
<%response.write Application("LProductManage"&session("LanguageId"))%>
</td>
</tr>
</table>
***************
* 这个是横线
***************
<table cellspacing=0 cellpadding=0 width="100%" border=0>
<tbody>
<tr>
<td>
</td>
</tr>
<tr class="linecolor">
<td height="2"></td>
</tr>
<tr>
<td class="tdcolor" align=left height=15> </td>
</tr>
</tbody>
</table>
***************
* 这个是表格
***************
<table border=0 cellpadding=0 cellspacing=1 width=100% bgcolor="#d0d090">
<tbody>
<th align="middle" class=light2><b><%=application("Lstatus"&session("languageid"))%></b></th>
<th align="middle" class=light2><b><%=application("LSaleStage"&session("languageid"))%></b></th>
<tr bgColor="white">
<td align="middle"> </td>
<td align="middle"> </td>
</tr>
</tbody>
</table>
边框/填充 = 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 <br>"
next
43. 标准注释头
'' ******************************************************************
'' 文件名:
'' Copyright (c) 2001-2005 ××信息技术公司软件部
'' 功能描述:产品编辑
'' 参数
'' 牵涉数据表,视图,存储过程:自定义函数dbo.GetSubTreeinfo
'' 包含的文件:
'' 调用的公用函数,类,方法
'' 创建人:Kokey YU
'' 日 期: 2005-8-9
'' 修改人:
'' 日 期:
'' 修改说明:
'' 版 本:
'' ******************************************************************/
44. title换行
<a href="javascript:;" title="这是一行这是另一行!">把鼠标放上来</a>
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" οnlοad="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
%>
==========================================
共<%=rs.recordcount%>条,<%=pageno%>/<%=int(rs.pagecount)%>页,每页<%=rs.pagesize%>条
<a href="manage.asp?pageno=1">首页</a>
<%if pageno>1 then%>
<a href="manage.asp?pageno=<%=int(pageno)-1%>">上一页</a>
<%
end if
if int(pageno)<>int(rs.pagecount)then
%>
<a href="manage.asp?pageno=<%=int(pageno+1)%>">下一页</a>
<%end if%>
<a href="manage.asp?pageno=<%=int(rs.pagecount)%>">尾页</a>
<%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. 关闭独立窗口
<head>
<OBJECT id=closes type="application/x-oleobject" classid="clsid:adb880a6-d8ff- 11cf-9377-00aa003b7a11"><param name="Command" value="Close">
</object>
</head>
<body>
<input type="button" value="点击我关闭窗口" οnclick="closes.Click();">
</body>
17. 极细表格
<table border="1" cellpadding="0" cellspacing="0" width="32" height="32" bordercolorlight="#000000" bordercolordark="#FFFFFF">
<tr>
<td> </td>
</tr>
</table>
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. 判断浏览器
<SCRIPT LANGUAGE="javascript1.2">
<!--//
if (navigator.appName == 'Netscape')
var language = navigator.language;
else
var language = navigator.browserLanguage;
if (language.indexOf('en') > -1) document.location.href = 'en/index.asp';
else if (language.indexOf('zh') > -1) document.location.href = 'cn/index.asp';
else
document.location.href = 'cn/index.asp';
// End -->
</script>
21. 嵌入另一页
<iframe class="TBGen" style="top:2px" ID="UploadFiles" src="upload.asp" frameborder=0 scrolling=no width="250" height="25"></iframe>
-------------------------------------
其实也可以用<!--#include file="fuck.asp"-->
22. 全部选定
<SCRIPT language=javascript>
function CheckAll(form)
{
for (var i=0;i<form.elements.length;i++)
{
var e = form.elements[i];
if (e.Name != "chkAll")
e.checked = form.chkAll.checked;
}
}
</script>
引用:
<td width="250" height="30"><input name="chkAll" type="checkbox" id="chkAll" οnclick=CheckAll(this.form) value="checkbox">选中本页显示的所有</td>
小格:
<input name='username' type='checkbox' id="username" value="<%=cstr(rsView("username"))%>">
23. 如何处理页面执行时发生的错误?
<%@ LANGUAGE="VBScript" %>
<%
Response.Buffer = True ' 打开页面缓冲
On Error Resume Next ' 打开错误处理
…………' ASP代码
%>
<%
If Err.Number <> 0 Then ' 错误处理
Response.Clear ' 清除缓冲区
%>
<HTML>' 显示错误信息页面
<HEAD>
<TITLE>页面错误报告</TITLE>
</HEAD>
<BODY BGCOLOR="#C0C0C0">
<font color=red>
<p>页面错误报告</p>
错误号:<%= Err.Number %><BR>
错误描述:<%= Err.Description %><BR>
错误源:Source <%= Err.Source %><BR>
错误发生行:<%= Err.Line %><BR>
</BODY>
</HTML>
<%
End If
%>
24. 收藏夹图标.
在 HEAD 部分加入下面的内容:
<LINK REL="SHORTCUT ICON" HREF=http://www.alleasy.com.cn/alleasy.ico>
在地址栏加入图标(图标必须是.ico格式,并且要加入收藏后才有效)
在HEAD里加入 <link rel="shortcut icon" href="favicon.ico">
25. 校验提交表单(正则表达式应用)
<script language="JavaScript">
<!--
function CheckForm()
{
if (LoginID.value =="")
{
alert("请填写您的登录名!");
LoginID.focus();
return false;
}
var filter=/^/s*[.A-Za-z0-9_-]{5,15}/s*$/;
if (!filter.test(LoginID.value)) {
alert("用户名填写不正确,请重新填写!可使用的字符为(A-Z a-z 0-9 _ - .)长度不小于5个字符,不超过15个字符,注意不要使用空格。");
LoginID.focus();
LoginID.select();
return false;
}
if (Password.value =="")
{
alert("请填写您的密码!");
Password.focus();
return false;
}
var filter=/^/s*[.A-Za-z0-9_-]{5,15}/s*$/;
if (!filter.test(Password.value)) {
alert("密码填写不正确,请重新填写!可使用的字符为(A-Z a-z 0-9 _ - .)长度不小于5个字符,不超
过15个字符,注意不要使用空格。");
Password.focus();
Password.select();
return false;
}
if (Password.value != ConfirmPassword.value)
{
alert("请两次填写的密码不一致,请重新填写!");
ConfirmPassword.focus();
return false;
}
if (CompanyName.value =="")
{
alert("请填写贵公司名称!");
CompanyName.focus();
return false;
}
var filter=/^[a-zA-Z][a-zA-Z0-9._-]*@([a-zA-Z0-9-_]+/.)+(com|gov|net|com/.cn|edu/.cn)$/;
if(!filter.test(document.myform.Email.value)){
alert("邮箱格式不正确!");
document.myform.Email.focus();
return false;
}
myform.submit();
return true;
}
//-->
</SCRIPT>
统一一下,以后都这样写
<form method="POST" name="myform" action="Checkreg.asp" >
</form>
<input type="button" name="Submit" value="提交" onClick="CheckForm();">
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
%>
<tr>
<td>
asfasdf
</td>
</tr>
<%
rs.movenext
end if
next
%>
27. 另一个只能输入数字代码
<script language=java script>
function check(){
if(isNaN(tt.value))
{
alert("必须是数字!");
tt.value="";
}
</script>
<input type="text" name="tt" οnkeyup="check();">
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"; //显示
}
调用:
<select name="RefType" style='width:77pt' onChange="showco(this.value)">
<option value="Inventory">Inventory</option>
<option value="CO" >CO</option>
<option value="SP">SP</option>
</select>
选择显示行 <tr id="Reftr" name="Reftr" style="display:none">也可以用<div id=”Resftr” ></div>
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
%>
<select name="BigClassName" size="1">
<option selected value="<%=trim(rs("BigClassName"))%>"><%=trim(rs("BigClassName"))%></option>
<%
rs.movenext //不能少,否则重复
do while not rs.eof
%>
<option value="<%=trim(rs("BigClassName"))%>"><%=trim(rs("BigClassName"))%></option>
<%
rs.movenext
loop
rs.close
%>
</select>
//以下是新方法
<select name="SrcNo">
<%do while not SrcRs.eof%>
<option value="<%=trim(SrcRs("Cost"))%>"
<%
if Trim(SrcComRs("SrcNo")) = Trim(SrcRs("Cost")) then
response.Write "selected"
end if
%>
><%=trim(SrcRs("Cost"))%>
</option>
<%
SrcRs.movenext
loop
SrcRs.close
%>
</select>
31. 确认操作
function ConfirmDel()
{
if(confirm("确定要删除吗?一旦删除将不能恢复!"))
return true;
else
return false;
}
<form name="del" method="Post" action="Del.asp" οnsubmit="return ConfirmDel();">
==============================================================
我自己用的一个。
function ConfirmReset()
{
if(confirm("确定取消操作吗?一旦取消操作将不能恢复!"))
window.form1.reset();
// return true;
}
<a href="javascript:ConfirmReset();"><img src="button_cance.gif"></a>
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)
……
<input name="SerialNum<%=i%>" type="text" onKeyDown="getdata(window.form1.SerialNum<%=i%>.value,<%=i%>)">
35. 关闭窗口前刷新父页面
response.write "<script language = javascript>"
response.write "javascript:opener.location.reload(); "
response.write "javasript:window.close();</script>"
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);
}
<body οnlοad="window_onload()">
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. 标准表格
***************
* 这个是标题
***************
<table cellspacing=0 cellpadding=0 width="100%" border=0>
<tr>
<td class=title nowrap align=left>
<%response.write Application("LProductManage"&session("LanguageId"))%>
</td>
</tr>
</table>
***************
* 这个是横线
***************
<table cellspacing=0 cellpadding=0 width="100%" border=0>
<tbody>
<tr>
<td>
</td>
</tr>
<tr class="linecolor">
<td height="2"></td>
</tr>
<tr>
<td class="tdcolor" align=left height=15> </td>
</tr>
</tbody>
</table>
***************
* 这个是表格
***************
<table border=0 cellpadding=0 cellspacing=1 width=100% bgcolor="#d0d090">
<tbody>
<th align="middle" class=light2><b><%=application("Lstatus"&session("languageid"))%></b></th>
<th align="middle" class=light2><b><%=application("LSaleStage"&session("languageid"))%></b></th>
<tr bgColor="white">
<td align="middle"> </td>
<td align="middle"> </td>
</tr>
</tbody>
</table>
边框/填充 = 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 <br>"
next
43. 标准注释头
'' ******************************************************************
'' 文件名:
'' Copyright (c) 2001-2005 ××信息技术公司软件部
'' 功能描述:产品编辑
'' 参数
'' 牵涉数据表,视图,存储过程:自定义函数dbo.GetSubTreeinfo
'' 包含的文件:
'' 调用的公用函数,类,方法
'' 创建人:Kokey YU
'' 日 期: 2005-8-9
'' 修改人:
'' 日 期:
'' 修改说明:
'' 版 本:
'' ******************************************************************/
44. title换行
<a href="javascript:;" title="这是一行这是另一行!">把鼠标放上来</a>