ASP开发44条技巧集锦之二

技巧

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

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" onclick=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="提交" >

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" onkeyup="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'  >

   <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" >

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

我自己用的一个。
function ConfirmReset()
{
     if(confirm("确定取消操作吗?一旦取消操作将不能恢复!"))
     window.form1.reset();
     // return true;
}
<a href="javascript:ConfirmReset();"><img src="http://www.webjx.com/htmldata/2005-10-18/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" >

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 >

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>

时间: 2024-08-31 08:08:59

ASP开发44条技巧集锦之二的相关文章

ASP开发44条技巧集锦之一

技巧 下一节: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) '返回指定数目的从字符串的左边算起的字符串.

Yii编程开发常见调用技巧集锦_php实例

本文实例汇总了Yii编程开发常见调用技巧.分享给大家供大家参考,具体如下: 1. 设置cookie: $cookie = new CHttpCookie('mycookie','this is my cookie'); $cookie->expire = time()+60*60*24*30; //有限期30天 Yii::app()->request->cookies['mycookie']=$cookie; 2. 读取cookie: $cookie = Yii::app()->r

理论为实践服务:ASP开发10条经验总结

历时半年,我独自一人完成了一个局级单位的管理信息系统,共发布BETA版29次,正式版本3次.ASP+ORACLE环境,285个ASP文件,功能涉及数据录入.修改.模糊查询.自动统计.数据分析和报表,这个项目正在申报省级成果,现将我的10条经验总结如下,不对之处欢迎批评指正: 1. 不要再做ASP是否过时的讨论,重要的不是你是否使用先进的技术,而是你的设计思想是否先进: 2. 设计时要考虑项目的通用性,永远不要做没有推广价值的东西: 3. 程序设计要简洁,足够好的面向过程远远优于蹩脚的面向对象:

ASP开发10条经验总结

作者:Thie (缺氧时代) 历时半年,我独自一人完成了一个局级单位的管理信息系统,共发布BETA版29次,正式版本3次.ASP+ORACLE环境,285个ASP文件,功能涉及数据录入.修改.模糊查询.自动统计.数据分析和报表,这个项目正在申报省级成果,现将我的10条经验总结如下,不对之处欢迎批评指正: 1. 不要再做ASP是否过时的讨论,重要的不是你是否使用先进的技术,而是你的设计思想是否先进:2. 设计时要考虑项目的通用性,永远不要做没有推广价值的东西(为保饭碗除外):3. 程序设计要简洁,

javascript开发几条技巧与性能优化总结

技巧一之setTimeout. 应用案例:比如你想一个函数循环执行10次,怎么办?以前通常是先setInterval,然后clearInterval,技巧一就是克服这个问题  代码如下 复制代码 (function () {     var i = 0;     function job() {         console.log(i++);         if (i < 10) {             setTimeout(job, 1000);         }     }   

用ASP开发一个在线考试程序(二)

程序|在线 2000-09-06· 编译青苹果电脑工作室·yesky 创建这些域的HTML代码如下: < table border="0" cellpadding="0" >< tr >< td width="50%" >< font face="Verdana" size="2" >User Name : < /font >< /td &g

asp.net DataTable相关操作集锦(筛选,取前N条数据,去重复行,获取指定列数据等)_实用技巧

本文实例总结了asp.net DataTable相关操作.分享给大家供大家参考,具体如下: #region DataTable筛选,排序返回符合条件行组成的新DataTable或直接用DefaultView按条件返回 /// <summary> /// DataTable筛选,排序返回符合条件行组成的新DataTable或直接用DefaultView按条件返回 /// eg:SortExprDataTable(dt,"Sex='男'","Time Desc&quo

ASP开发技巧三则

技巧     一. 服务器端文件的动态包含注一   在ASP开发过程中,我们经常会将通用的函数制作成一个独立的ASP文件,然后通过Include方法引入需要的页面.由于在执行过程中,服务器会首先运行采用Include方法包含的文件,然后才是当前页面的代码,所以,在实际执行过程中我们不可能使用Include方法来实现服务器端的动态包含.   看下面一段代码:   <%   i=1   str = "file" & i & "/a.asp"   %

ASP技巧集锦(官方权威版)-1

技巧 简 介 性能是一个特性.您需要预先设计性能,或是在日后重新编写应用程序.换句话说,什么是最大限度优化 Active Server Pages (ASP) 应用程序性能的好策略? 本文为优化 ASP 应用程序和"Visual Basic(R) 脚本编辑器 (VBScript)"提供了许多技巧.对许多陷阱和缺陷进行了讨论.本文所列的建议均在 http://www.microsoft.com 及其他站点上进行了测试,而且工作正常.本文假定您对 ASP 开发有基本的理解,包括对 VBSc