当前页:网页制作 >>>网页制作-asp精华代码
网页制作-asp精华代码
责任编辑:黄舒奇  发表时间:2007-07-15  最后修改时间2016-05-25
1.oncontextmenu="window.event.returnvalue=false"将彻底屏蔽鼠标右键
oncontextmenu=self.event.returnValue=false
oncontextmenu="return false"
<tableborderoncontextmenu=return(false)><td>no</table>可用于Table

2.<bodyonselectstart="returnfalse">
取消选取、防止复制
3.onpaste="returnfalse"不准粘贴
4.oncopy="returnfalse;"oncut="returnfalse;"
防止复制
5.<linkrel="ShortcutIcon"href="favicon.ico">IE
地址栏前换成自己的图标
6.<linkrel="Bookmark"href="favicon.ico">
可以在收藏夹中显示出你的图标
7.<inputstyle="ime-mode:disabled">
关闭输入法
8.
永远都会带着框架
<scriptlanguage="javascript"><!--
if(window==top)top.location.href="frames.htm";//frames.htm为框架网页
//--></script>

9.
防止被人frame
<SCRIPTLANGUAGE=javascript><!--
if(top.location!=self.location)top.location=self.location;
//--></SCRIPT>
10.<noscript><iframesrc=*.html></iframe></noscript>网页将不能被另存为
11.<inputtype=buttonvalue=查看网页源代码
onclick="window.location='view-source:'+'<IMG src="pic/url.gif" align=absMiddle border=0>
http://www.csdn.net/">
12.怎样通过asp的手段来检查来访者是否用了代理
<%ifRequest.ServerVariables("HTTP_X_FORWARDED_FOR")<>""then
response.write"<fontcolor=#FF0000>您通过了代理服务器,"&_
"真实的IP为"&Request.ServerVariables("HTTP_X_FORWARDED_FOR")
endif%>
13.取得控件的绝对位置

//javascript
<scriptlanguage="javascript">
functiongetIE(e){
vart=e.offsetTop;
varl=e.offsetLeft;
while(e=e.offsetParent){
t+=e.offsetTop;
l+=e.offsetLeft;
}
alert("top="+t+"\nleft="+l);
}
</script>

//VBScript
<scriptlanguage="VBScript"><!--
functiongetIE()
dimt,l,a,b
seta=document.all.img1
t=document.all.img1.offsetTop
l=document.all.img1.offsetLeft
whilea.tagName<>"BODY"
seta=a.offsetParent
t=t+a.offsetTop
l=l+a.offsetLeft
wend
msgbox"top="&t&chr(13)&"left="&l,64,"

得到控件的位置"
endfunction
--></script>

14.

光标是停在文本框文字的最后
<scriptlanguage="javascript">
functioncc()
{
vare=event.srcElement;
varr=e.createTextRange();
r.moveStart('character',e.value.length);
r.collapse(true);
r.select();
}
</script>
<inputtype=textname=text1value="123"onfocus="cc()">
15.判断上一页的来源
asp:
request.servervariables("HTTP_REFERER")

javascript:
document.referrer

16.最小化、最大化、关闭窗口
<objectid=hh1classid="clsid:ADB 880A6-D8FF-11CF-9377-00AA003B 7A11">
<paramname="Command"value="Minimize"></object>
<objectid=hh2classid="clsid:ADB 880A6-D8FF-11CF-9377-00AA003B 7A11">
<paramname="Command"value="Maximize"></object>
<OBJECTid=hh3classid="clsid:adb 880a6-d8ff-11cf-9377-00aa003b 7a11">
<PARAMNAME="Command"value="Close"></OBJECT>

<inputtype=buttonvalue=

最小化onclick=hh1.Click()>
<inputtype=buttonvalue=最大化onclick=hh2.Click()>
<inputtype=buttonvalue=关闭onclick=hh3.Click()>
本例适用于IE

17.
<%
'

定义数据库连接的一些常量
ConstadOpenForwardOnly=0'游标只向前浏览记录,不支持分页、Recordset、BookMark
ConstadOpenKeyset=1'键集游标,其他用户对记录说做的修改将反映到记录集中,但其他用户增加或删除记录不会
反映到记录集中。支持分页、Recordset、BookMarkConstadOpenDynamic=2'动态游标功能最强,但耗资源也最多。
用户对记录说做的修改,增加或删除记录都将反映到记录集中。支持全功能浏览(ACCESS不支持)。
ConstadOpenStatic=3'静态游标,只是数据的一个快照,用户对记录说做的修改,增加或删除记录都不会反映到
记录集中。支持向前或向后移动

ConstadLockReadOnly=1'锁定类型,默认的,只读,不能作任何修改
ConstadLockPessimistic=2'
当编辑时立即锁定记录,最安全的方式
ConstadLockOptimistic=3'
只有在调用Update方法时才锁定记录集,而在此前的其他操作仍可对当前记录进行更改、
插入和删除等ConstadLockBatchOptimistic=4'当编辑时记录不会被锁定,而更改、
插入和删除是在批处理方式下完成的
ConstadCmdText=&H0001
ConstadCmdTable=&H0002
%>

18.网页不会被缓存
HTM
网页
<METAHTTP-EQUIV="pragma"CONTENT="no-cache">
<METAHTTP-EQUIV="Cache-Control"CONTENT="no-cache,must-revalidate">
<METAHTTP-EQUIV="expires"CONTENT="Wed,26Feb199708:21:57GMT">
或者<METAHTTP-EQUIV="expires"CONTENT="0">
ASP
网页
Response.Expires=-1
Response.ExpiresAbsolute=Now()-1
Response.cachecontrol="no-cache"
PHP
网页
header("Expires:Mon,26Jul199705:00:00GMT");
header("Cache-Control:no-cache,must-revalidate");
header("Pragma:no-cache");

19.
检查一段字符串是否全由数字组成
<scriptlanguage="javascript"><!--
functioncheckNum(str){returnstr.match(/\D/)==null}
alert(checkNum("1232142141"))
alert(checkNum(" 123214214a1"))
//--></script>

20.获得一个窗口的大小
document.body.clientWidth,document.body.clientHeight

21.怎么判断是否是字符
if(/[^\x00-\xff]/g.test(s))alert("
含有汉字");
elsealert("
全是字符");

22.TEXTAREA自适应文字行数的多少
<textarearows=1 name=s1 cols=27 onpropertychange="this.style.posHeight=this.scrollHeight">
</textarea>

23.日期减去天数等于第二个日期
<scriptlanguage=javascript>
functioncc(dd,dadd)
{
//
可以加上错误处理
vara=newDate(dd)
a=a.valueOf()
a=a-dadd*24*60*60* 1000
a=newDate(a)
alert(a.getFullYear()+"
"+(a.getMonth()+1)+""+a.getDate()+"")
}
cc(" 12/23/2002",2)
</script>

24.选择了哪一个Radio
<HTML><scriptlanguage="vbscript">
functioncheckme()
foreachobinradio1
ifob.checkedthenwindow.alertob.value
next
endfunction
</script><BODY>
<INPUT name="radio1" type="radio" value="style" checked>Style
<INPUT name="radio1" type="radio" value="barcode">Barcode
<INPUT type="button" value="check"onclick="checkme()">
</BODY></HTML>

25.获得本页urlrequest.servervariables("")集合
Response.Write"<TABLEborder=1><!--TableHeader--><TR><TD><B>Variables</B></TD><TD><B>value</B></TD></TR>"
foreachobinRequest.ServerVariables
Response.Write"<TR><TD>"&ob&"</TD><TD>"&Request.ServerVariables(ob)&"</TD></TR>"
next
Response.Write"</TABLE>"

26.

本机ip<%=request.servervariables("remote_addr")%>
服务器名<%=Request.ServerVariables("SERVER_NAME")%>
服务器IP<%=Request.ServerVariables("LOCAL_ADDR")%>
服务器端口<%=Request.ServerVariables("SERVER_PORT")%>
服务器时间<%=now%>
IIS版本<%=Request.ServerVariables"SERVER_SOFTWARE")%>
脚本超时时间<%=Server.ScriptTimeout%>
本文件路径<%=server.mappath(Request.ServerVariables("SCRIPT_NAME"))%>
服务器CPU数量<%=Request.ServerVariables("NUMBER_OF_PROCESSORS")%>
服务器解译引擎<%=ScriptEngine&"/" & ScriptEngineMajorVersion &"."
& ScriptEngineMinorVersion & "." & ScriptEngineBuildVersion%>
服务器操作系统<%=Request.ServerVariables("OS")%>

27.ENTER

键可以让光标移到下一个输入框
<input onkeydown="if(event.keyCode==13)event.keyCode=9">

28.检测某个网站的链接速度:
把如下代码加入<body>区域中:
<scriptlanguage=javascript>
tim=1
setInterval("tim++",100)
b=1
varautourl=newArray()
autourl[1]="< src="pic/url.gif" align=absMiddle border=0>www.njcatv.net"
autourl[2]="javacool.3322.net"
autourl[3]="< src="pic/url.gif" align=absMiddle border=0>www.sina.com.cn"
autourl[4]="www.nuaa.edu.cn"
autourl[5]="< src="pic/url.gif" align=absMiddle border=0>www.cctv.com"functionbutt(){
document.write("<formname=autof>")
for(vari=1;i<autourl.length;i++)
document.write("<inputtype=textname=txt"+i+"size=10value=

测试中……>=》<inputtype=textname=url"+i+"size=40>=》<inputtype=buttonvalue=
GOonclick=window.open(this.form.url"+i+".value)><br/>")
document.write("<inputtype=submitvalue=刷新></form>")
}
butt()
functionauto(url){
document.forms[0]["url"+b].value=url
if(tim>200)
{document.forms[0]["txt"+b].value="链接超时"}
else
{document.forms[0]["txt"+b].value="时间"+tim/10+"秒"}
b++
}
functionrun(){for(vari=1;i<autourl.length;i++)document.write("<imgsrc=
http://"+autourl[i]+"/"+Math.random()+"width=1height=1onerror=auto('< src="pic/url.gif" align=absMiddle border=0>http://";+autourl[i]+"')>")}
run()</script>

29.各种样式的光标
auto
:标准光标
default
:标准箭头
hand
:手形光标
wait
:等待光标
text
I形光标
vertical-text
:水平I形光标
no-drop
:不可拖动光标
not-allowed
:无效光标
help
?帮助光标
all-scroll
:三角方向标
move
:移动标
crosshair
:十字标
e-resize
n-resize
nw-resize
w-resize
s-resize
se-resize
sw-resize

1,屏蔽鼠标右键、Ctrl+nshift+F10F5刷新、退格键
<body onkeydown="KeyDown()"
oncontextmenu="event.returnValue=false">

<script language="Javascript"><!--
//
屏蔽鼠标右键、Ctrl+nshift+F10F5刷新、退格键
//Author: meizz(
梅花雨) 2002-6-18

function KeyDown(){
if ((window.event.altKey)&&
((window.event.keyCode==37)|| //
屏蔽 Alt+ 方向键
(window.event.keyCode==39))){ //
屏蔽 Alt+ 方向键
alert("
不准你使用ALT+方向键前进或后退网页!");
event.returnValue=false;
}

/*

注:这还不是真正地屏蔽 Alt+ 方向键,
因为 Alt+ 方向键弹出警告框时,按住 Alt 键不放,
用鼠标点掉警告框,这种屏蔽方法就失效了。以后若
有哪位高手有真正屏蔽 Alt 键的方法,请告知。*/

if ((event.keyCode==8) || //

屏蔽退格删除键
(event.keyCode==116)|| //屏蔽 F5 刷新键
(event.ctrlKey && event.keyCode==82)){ //Ctrl + R
event.keyCode=0;
event.returnValue=false;
}
if ((event.ctrlKey)&&(event.keyCode==78)) //屏蔽 Ctrl+n
event.returnValue=false;
if ((event.shiftKey)&&(event.keyCode==121)) //屏蔽 shift+F10
event.returnValue=false;
if (window.event.srcElement.tagName == "A" && window.event.shiftKey)
window.event.returnValue = false; //屏蔽 shift 加鼠标左键新开一网页
if ((window.event.altKey)&&(window.event.keyCode==115)){ //屏蔽Alt+F4
window.showModelessDialog("about:blank","","dialogWidth:1px;dialogheight:1px");
return false;}
}
/* 另外可以用 window.open 的方法屏蔽 IE 的所有菜单
第一种方法:
window.open("你的.htm", "","toolbar=no,location=no,directories=no,menubar=no,
scrollbars=no,resizable=yes,status=no,top=0,left=0")
第二种方法是打开一个全屏的页面:
window.open("你的.asp", "", "fullscreen=yes")
*/
// --></script>
<h2 align=center>屏蔽鼠标右键、Ctrl+n、shift+F10、F5刷新、退格键</h2>
</body>
</html>

2,RecordSet

属性和方法
为了更精确地跟踪数据,要用RecordSet组件创建包含数据的游标,游标就是储存在内存中的数据。
rs = Server.CreateObject("ADODB.RecordSet")
rs.Open(sqlStr,conn,1,A)
注:A=1读取
A=3 新增、修改、删除
在RecordSet组件中,常用的属性和方法有:
rs.Fields.Count: RecordSet对象的字段数。
rs(i).Name: 第i个字段的名称,i为0至rs.Fields.Count-1
rs(i): 第i个字段的数据,i为0至rs.Fields.Count-1
rs("字段名"): 指定字段的数据。
rs.Record.Count:游标中的数据记录总数。
rs.EOF: 是否最后一条记录。
rs.MoveFirst: 指向第一条记录。
rs.MoveLast: 指向最后一条记录。
rs.MovePrev: 指向上一条记录。
rs.MoveNext: 指向下一条记录。
rs.GetRows: 将数据放入数组中。
rs.Properties.Count:ADO的ResultSet或Connection的属性个数。
rs.Properties(item).Name:ADO的ResultSet或Connection的名称。
rs.Properties: ADO的ResultSet或Connection的值。
rs.close(): 关闭连接。

3,

本地无缓存,每次自动刷新
response.expires=0
response.addHeader"pragma","no-cache"
response.addHeader"cache-control","private"

4,修改contentType并下载gif等格式
<%
function dl(f,n)
onerrorresumenext

sets=CreateObject("Adodb.Stream")
S.Mode=3
S.Type=1
S.Open
s.LoadFromFile(server.mappath(f))
iferr.number>0then
response.writeerr.number&":"&err.description
else
response.contentType="application/x-gzip"
response.addheader"Content-Disposition:","attachment;filename="&n
response.binarywrite(s.Read(s.size))
endif
endfunction

call dl("012922501.gif","t1.gif") %>

5,常用的几种数据库连接代码
1
MS Access数据库连接
DSN连接并且没有用户名和密码:
<%
set conn = Server.CreateObject("ADODB.Connection")
conn.open "YourDSNName"
%>

2

) 用DSN连接并且有用户名和密码:
<%
set conn = Server.CreateObject("ADODB.Connection")
conn.open "YourDSNName","username","password"
%>

3

) 用实际的数据库绝对路径连接:
<%
Set conn = Server.CreateObject("ADODB.Connection")
Strconn="DRIVER={Microsoft Access Driver (*.mdb)}; "
Strconn=Strconn & "DBQ=e:\yanhang\database.mdb"
conn.Open Strconn
%>

4

) 用实际的数据库相对路径连接:
<%
Set conn = Server.CreateObject("ADODB.Connection")
Strconn="DRIVER={Microsoft Access Driver (*.mdb)}; "
Strconn=Strconn & "DBQ=" & Server.MapPath("/database/yanhang.mdb")
conn.Open Strconn
%>

5

) MS SQL Server数据库连接
用DSN连接:
<%
set conn = Server.CreateObject("ADODB.Connection")
conn.open "DSN=MyDSN;UID=user;PWD=password;DATABASE=databasename"
%>

6

) 不用DSN连接:
<%
Set conn = Server.CreateObject("ADODB.Connection")
DSNtemp="DRIVER={SQL Server};SERVER=ServerName;UID=USER;PWD=password;DATABASE=databasename"
conn.open DSNtemp
%>

7

) FoxPro数据库连接
<%
Set Conn = Server.CreateObject("ADODB.connection")
ConnStr= "Driver=Microsoft Visual Foxpro Driver; UID=userID;SourceType=DBC;SourceDB=
C:\yanhang\database.dbc"
Conn.Open ConnStr
%>

8

) Oracle数据库连接:
<%
set conn=server.createobject("adodb.connection")
conn.cursorlocation=adUseClient
DSNTemp="Provider=MSDAORA.1;Password=xxxxx;User ID=yanhang;Data Source=xxx.world"
conn.open DSNtemp
%>

9

) Paradox数据库连接:
<%
set conn=server.createobject("adodb.connection")
conn.cursorlocation=adUseClient
DSNTemp="driver={Microsoft Paradox Driver (*.db)};DriverID=538;Fil=Paradox 5.X;DefaultDir=c:\dbpath\;Dbq=c:\dbpath\;CollatingSequence=ASCII;"
conn.open DSNtemp
%>

10

) Sybase数据库连接:
<%
set conn=server.createobject("adodb.connection")
conn.cursorlocation=adUseClient
DSNTemp="Driver={SYBASE SYSTEM 11};Srvr=myServerName;Uid=myUsername;Pwd=myPassword;"
conn.open DSNtemp
%>

11

) Text数据库连接:
<%
set conn=server.createobject("adodb.connection")
conn.cursorlocation=adUseClient
DSNTemp="Driver={Microsoft Text Driver (*.txt; *.csv)};Dbq=c:\somepath\;
Extensions=asc,csv,tab,txt;Persist Security Info=False"
conn.open DSNtemp
'调用 test.csv 的文件
Set rs=server.createobject("adodb.recordset")
rs.open "select * from test.csv",conn,1,3
%>

6,使用 XML 静态读取网页
代码如下:

<script>
var oDiv //
添加用的节点
var nP //DIV
padding-left
var xh //xmlhttp
function getXML()
{
oDiv = document.all.m
oDiv.innerHTML = "
正在装载栏目数据,请稍侯......."
oDiv.style.display= ""
xh = new ActiveXObject("Microsoft.XMLHTTP")
xh.onreadystatechange = getReady
xh.open("GET",a.value,true)
xh.send()
}
function getReady()
{
if(xh.readyState==4)

{
if(xh.status==200)
{

oDiv.innerHTML = "

完成"
}
e
lse
{
oDiv.innerHTML = "抱歉,装载数据失败。原因:" + xh.statusText
}
}
}
</script>
URL:<input name=a value="http://www.microsoft.com">
<input onclick="getXML()" type="button" value="get HTML">
<input onclick="if(xh && xh.responseText) oDiv.innerHTML=xh.responseText" type="button" value="output">
<div id=m></div>

7,SQL SERVER

EXCEL的数据导入导出
1)
、在SQL SERVER里查询Excel数据:
SELECT * FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0','Data Source="c:\book1.xls";
User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$]
下面是个查询的示例,它通过用于 Jet OLE DB 提供程序查询 Excel 电子表格。
SELECT * FROM OpenDataSource ( 'Microsoft.Jet.OLEDB.4.0', 'Data Source="
c:\Finance\account.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions
2)、将Excel的数据导入SQL server :
SELECT * into newtable FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0', 'Data Source="
c:\book1.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$]

实例分析:
SELECT * into newtable FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0', 'Data Source="
c:\Finance\account.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions
3)、将SQL SERVER中查询到的数据导成一个Excel文件
T-SQL
代码:
EXEC master..xp_cmdshell 'bcp
库名.dbo.表名out c:\Temp.xls -c -q -S"servername" -U"sa" -P""'
参数:S SQL服务器名;U是用户;P是密码
说明:还可以导出文本文件等多种格式
实例:EXEC master..xp_cmdshell 'bcp saletesttmp.dbo.CusAccount out
c:\temp1.xls -c -q -S"pmserver" -U"sa" -P"sa"'
EXEC master..xp_cmdshell 'bcp "SELECT au_fname, au_lname FROM pubs..authors ORDER BY au_lname"
queryout C:\ authors.xls -c -Sservername - Usa -Ppassword'
VB6中应用ADO导出EXCEL文件代码:
Dim cn As New ADODB.Connection
cn.open "Driver={SQL Server};Server=WEBSVR;DataBase=WebMis;UID=sa;WD=123;"
cn.execute "master..xp_cmdshell 'bcp "SELECT col1, col2 FROM
库名.dbo.表名" queryout
E:\DT.xls -c -Sservername - Usa -Ppassword'"
4)、在SQL SERVER里往Excel插入数据: insert into OpenDataSource(
'Microsoft.Jet.OLEDB.4.0','Data Source="c:\Temp.xls";User
ID=Admin;Password=;Extended properties=Excel 5.0')...table1 (A1,A2,A3) values (1,2,3)
T-SQL
代码:
INSERT INTO OPENDATASOURCE('Microsoft.JET.OLEDB.4.0', '
Extended Properties=Excel 8.0;Data source=C:\training\inventur.xls')...
[Filiale1$] (bestand, produkt) VALUES (20, 'Test')

总结:利用以上语句,我们可以方便地将SQL SERVERACCESSEXCEL电子表格软件中的数据进行转换,
为我们提供了极大方便!