CSDN博客

img yzty

我的asp重新整理 - by yzty

发表于2004/9/14 11:14:00  1055人阅读

1、使用Session保存变量
session.Contents("yzty")=MyDim
用到的时候MyDim=session.Contents("yzty")
另外如果要使一个页面查询后Input的内容不变,也可以使用Session来做到
2、使用URL编码
Response.Redirect("HandleError.asp?ErrorMsg="&Server.URLEncode("密码错误"))
3、取得真实的IP地址
vip=Request.ServerVariables("HTTP_X_FORWARDED_FOR")
if vip="" then
 vip=Request.ServerVariables("Remote_Addr")
end if
4、使用几个Button指向不同的页面操作
<input type="button" name="Submit" value=" 打印数据 " onClick="this.form.action='myPrint.asp',this.form.submit();" >  
5、在页面中打印预览
在<head></head>中加入:<OBJECT classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 height=0 id=WebBrowser width=0></OBJECT>
在页面打印的地方加上:<a href="#" onClick="javascript:document.all.WebBrowser.ExecWB(7,1)">打印预览</a>
6、选择全部的CheckBox
其中动态生成CheckBox为:
<td><input type="checkbox" name="key_d" value="<%= sKey %>" >删除</td>
全选的CheckBox为:
<input type="checkbox" onClick="EW_selectKey(this);">全选
EW_SelectKey(this);为
<script type="text/javascript">
<!--
function EW_selectKey(elem) {
 var f = elem.form; 
 if (!f.key_d) return;
 if (f.key_d[0]) {
  for (var i=0; i<f.key_d.length; i++)
   f.key_d[i].checked = elem.checked; 
 } else {
  f.key_d.checked = elem.checked; 
 }
}
//-->
</script>
操作的按钮为:
<input type="submit" name="btndelete" value="删除选择记录" onClick="this.form.action='LogDel.asp';this.form.encoding='application/x-www-form-urlencoded';this.form.submit();">
7、检测Input是否填写内容
<script language=javascript>
<!--
function CheckForm()
{
 if (document.form1.UserName.value=="")
 {
  alert("请输入姓名!");
  document.form1.UserName.focus();
  return false;
 }
}
-->
</script>

8、删除时确认
<a href='javascript :if(confirm("确实要删除吗?"))location="boos.asp?ID=1"'>删除</a>
或则使用
<script type="text/javascript">
<!--
function ConfirmDel()
{
 c=window.confirm("确认删除吗?");
 if(c==true)return true;
 else return false;
}
//-->
</script>
<a href="MyFormDel.asp?key=<%=rs("ID")%>" onClick="return check();">删除</a>
9、在打开的子窗口刷新父窗口的代码里如何写?
window.opener.location.reload()
10、ENTER键可以让光标移到下一个输入框
<input onkeydown="if(event.keyCode==13)event.keyCode=9">
11、38.页面进入和退出的特效
进入页面<meta http-equiv="Page-Enter" content="revealTrans(duration=x, transition=y)">
推出页面<meta http-equiv="Page-Exit" content="revealTrans(duration=x, transition=y)">
这个是页面被载入和调出时的一些特效。duration表示特效的持续时间,以秒为单位。transition表示使

用哪种特效,取值为1-23:
  0 矩形缩小
  1 矩形扩大
  2 圆形缩小
  3 圆形扩大
  4 下到上刷新
  5 上到下刷新
  6 左到右刷新
  7 右到左刷新
  8 竖百叶窗
  9 横百叶窗
  10 错位横百叶窗
  11 错位竖百叶窗
  12 点扩散
  13 左右到中间刷新
  14 中间到左右刷新
  15 中间到上下
  16 上下到中间
  17 右下到左上
  18 右上到左下
  19 左上到右下
  20 左下到右上
  21 横条
  22 竖条
  23 以上22种随机选择一种
12、字符串替换
function NoShowPic(str)
   str = replace(str,"<img ","<img style=='display:none' "
   NoShowPic = str
end function
13、让弹出窗口总是在最上面:
<body onblur="this.focus();">

14、不要滚动条?
让竖条没有:
<body style='overflow:scroll;overflow-y:hidden'>
</body>
让横条没有:
<body style='overflow:scroll;overflow-x:hidden'>
</body>
两个都去掉?更简单了
<body scroll="no">
</body>
15、执行操作的时候如果出现错误跳转到指定错误页面
 conn.Execute(sqlStr)
 If Err.Number <> 0 Then
  set conn=nothing
  Response.Redirect("MyForm.asp")
 else
  Response.Redirect("HandleError.asp?ErrorMsg="&Server.URLEncode("删除失败!"))
 end if

16、关闭窗口在图片的连接上写javascript:window.close();
 提交的图片连接写javascript:document.Form1.submit();
 删除之前出现确认对话框:
 <a href="del.asp?id=<%=rs("rowid")%>" ONCLICK="javascript:return confirm('真的要删除数据吗?')">删除</a>
17、用VBScript弹出提示框然后跳转到指定页面
 <%
  Response.Write "<script language='javascript'>alert(""提交成功!"");location.href=""AddBook.asp"";</script>"
 %>
18、页面摘入等待。。。。脚本说明:
 把如下代码加入<head>区域中
 <SCRIPT LANGUAGE="JavaScript">
      document.write("<font size=6 color=blue face='楷体_GB2312'><B>正在载入雨中太阳首页,请稍等..</B></font>");
      window.clear;
      window.location.href="http://yzty.europe.webmatrixhosting.net";
 </SCRIPT>
19、在Text直接修改记录,然后点修改保存记录
  <%count=0
   do while not (rs.eof or rs.bof) and count<rs.PageSize %>
   <form action="webGroupEdit.asp" method="post" name="GroupEdit" onSubmit="return Checkedit()">
          <tr bgcolor="E9F3FF">
            <td>&nbsp;<%=rs("id")%> <input name="b" type="hidden" id="b" value="<%=rs("id")%>">
            <input name="currpage" type="hidden" id="currpage" value="<%=page%>"></td>
            <td height="18"><input name="a" type="text" id="a" value="<%=rs("MemGroupName")%>" size="20" maxlength="50">
            </td>
            <td height="18"><input name="c" type="text" id="c" value="<%=rs("Remark")%>" size="25" maxlength="30"></td>
            <td><input type="submit" name="Submit" value=" 修改 " ></td>
            <td><div align="center"><a href="webGroupDel.asp?id=<%=rs("id")%>&page=<%=page%>" onClick="return check()">删除</a></div></td>
          </tr>
     </form>
          <%
   count=count+1
   rs.movenext
   loop
   %>
20、自动计算问题:
 <input type="hidden" name="selvalue">
 <SELECT NAME="select1" onChage="javascript:document.form1.selvalue.value=this.options[this.options.selectedIndex].text">
 <option value="1">新浪</option>
 <option value="2">百度</option>
 <option value="3">中华网</option>
 <option value="4">腾讯</option>
 </SELECT>


21一个不错的分页代码
<%
nStartRec = 0
nStopRec = 0
nTotalRecs= 0
nDisplayRecs = 30
nRecRange = 10
%>
<%
Set conn=Server.CreateObject("ADODB.Connection")
conn.Open xDB_Conn_Str 'xDB_Conn_Str 为连接数据库的字符串
Set rs= Server.CreateObject("ADODB.RecordSet")
rs.CursorLocation = 3
rs.Open sSql,conn,1,2
nTotalRecs = rs.RecordCount
if nDisplayRecs<=0 then
 nDisplayRecs= nTotalRecs
end if
nStartRec=1
SetUpStartRec() ' Set Up Start Record Position
%>
<table>
<tr bgcolor="#3366CC">
              <td><span class="end">表字段标题</span></td>
  .....
            </tr>
<%

' Avoid starting record > total records
If CLng(nStartRec) > CLng(nTotalRecs) Then
 nStartRec = nTotalRecs
End If

' Set the last record to display
nStopRec = nStartRec + nDisplayRecs - 1

' Move to first record directly for performance reason
nRecCount = nStartRec - 1
If Not rs.Eof Then
 rs.MoveFirst
 rs.Move nStartRec - 1
End If
nRecActual = 0
Do While (Not rs.Eof) And (nRecCount < nStopRec)
 nRecCount = nRecCount + 1
 If CLng(nRecCount) >= CLng(nStartRec) Then
  nRecActual = nRecActual + 1

 ' Set row color
 sItemRowClass = " bgcolor=""#FFFFFF"""

 ' Display alternate color for rows
 If nRecCount Mod 2 <> 0 Then
  sItemRowClass = " bgcolor=""#F5F5F5"""
 End If
%>
'在记录的隔行显示不同的底色使用
         <tr <%=sItemRowClass%>>
              <td><% Response.Write rs("表字段") %></td>

            </tr>
      
<% End If
 rs.MoveNext
 Loop
%>
</table>
 <%

' Close recordset and connection
rs.Close
Set rs = Nothing
conn.Close
Set conn = Nothing
%>
'以下是分页的底部显示
<%

' Display page numbers
If nTotalRecs > 0 Then
 rsEof = (nTotalRecs < (nStartRec + nDisplayRecs))
 If CLng(nTotalRecs) > CLng(nDisplayRecs) Then

  ' Find out if there should be Backward or Forward Buttons on the TABLE.
  If  nStartRec = 1 Then
   isPrev = False
  Else
   isPrev = True
   PrevStart = nStartRec - nDisplayRecs
   If PrevStart < 1 Then PrevStart = 1 %> 
  <a href="MyForm.asp?start=<%=PrevStart%>"><b>上一页</b></a>
  <%
  End If
  If (isPrev Or (Not rsEof)) Then
   x = 1
   y = 1
   dx1 = ((nStartRec-1)/(nDisplayRecs*nRecRange))*nDisplayRecs*nRecRange+1
   dy1 = ((nStartRec-1)/(nDisplayRecs*nRecRange))*nRecRange+1
   If (dx1+nDisplayRecs*nRecRange-1) > nTotalRecs Then
    dx2 = (nTotalRecs/nDisplayRecs)*nDisplayRecs+1
    dy2 = (nTotalRecs/nDisplayRecs)+1
   Else
    dx2 = dx1+nDisplayRecs*nRecRange-1
    dy2 = dy1+nRecRange-1
   End If
   While x <= nTotalRecs
    If x >= dx1 And x <= dx2 Then
     If CLng(nStartRec) = CLng(x) Then %>
  <b><%=y%></b>
     <% Else %>
  <a href="MyForm.asp?start=<%=x%>"><b><%=y%></b></a>
     <% End If
     x = x + nDisplayRecs
     y = y + 1
    ElseIf x >= (dx1-nDisplayRecs*nRecRange) And x <= (dx2+nDisplayRecs*nRecRange) Then
     If x+nRecRange*nDisplayRecs < nTotalRecs Then %>
  <a href="MyForm.asp?start=<%=x%>"><b><%=y%>-<%=y+nRecRange-1%></b></a>
     <% Else
      ny=(nTotalRecs-1)/nDisplayRecs+1
       If ny = y Then %>
  <a href="MyForm.asp?start=<%=x%>"><b><%=y%></b></a>
       <% Else %>
  <a href="MyForm.asp?start=<%=x%>"><b><%=y%>-<%=ny%></b></a>
       <% End If
     End If
     x=x+nRecRange*nDisplayRecs
     y=y+nRecRange
    Else
     x=x+nRecRange*nDisplayRecs
     y=y+nRecRange
    End If
   Wend
  End If

  ' Next link
  If NOT rsEof Then
   NextStart = nStartRec + nDisplayRecs
   isMore = True %>
  <a href="MyForm.asp?start=<%=NextStart%>"><b>下一页</b></a>
  <% Else
   isMore = False
  End If %>
  <br> 
<% End If
 If CLng(nStartRec) > CLng(nTotalRecs) Then nStartRec = nTotalRecs
 nStopRec = nStartRec + nDisplayRecs - 1
 nRecCount = nTotalRecs - 1
 If rsEof Then nRecCount = nTotalRecs
 If nStopRec > nRecCount Then nStopRec = nRecCount %>
 记录 <%= nStartRec %> 到 <%= nStopRec %> 总记录 <%= nTotalRecs %>
<% Else %>
 没有记录
<% End If %>
最后在</html>后面的
<%
Sub SetUpStartRec()
 Dim nPageNo

 ' Check for a START parameter
 If Request.QueryString("start").Count > 0 Then
  nStartRec = Request.QueryString("start")
  Session("MyForm_REC") = nStartRec
 ElseIf Request.QueryString("pageno").Count > 0 Then
  nPageNo = Request.QueryString("pageno")
  If IsNumeric(nPageNo) Then
   nStartRec = (nPageNo-1)*nDisplayRecs+1
   If nStartRec <= 0 Then
    nStartRec = 1
   ElseIf nStartRec >= ((nTotalRecs-1)/nDisplayRecs)*nDisplayRecs+1 Then
    nStartRec = ((nTotalRecs-1)/nDisplayRecs)*nDisplayRecs+1
   End If
   Session("MyForm_REC") = nStartRec
  Else
   nStartRec = Session("MyForm_REC")
   If Not IsNumeric(nStartRec) Or nStartRec = "" Then   
    nStartRec = 1 ' Reset start record counter
    Session("MyForm_REC") = nStartRec
   End If
  End If
 Else
  nStartRec = Session("MyForm_REC")
  If Not IsNumeric(nStartRec) Or nStartRec = "" Then  
   nStartRec = 1 'Reset start record counter
   Session("MyForm_REC") = nStartRec
  End If
 End If
End Sub
%>
    

0 0

相关博文

我的热门文章

img
取 消
img