ASP 编程中20个非常有用的例子
上一篇 / 下一篇 2007-07-19 16:36:37 / 个人分类:ASP
GtZ"nrs2a}R3M01.如何用Asp判断你的网站的虚拟物理路径51Testing软件测试网GpwPlo_7Po
答:使用Mappath方法:<%= Server.MapPath('\')%>51Testing软件测试网s`"U(Zd f0k^
{4Qe;Tl02.我如何知道使用者所用的浏览器?51Testing软件测试网n)b(CVM2@@'b&y%pc/Gx
答:使用the Request object方法:51Testing软件测试网7Ky0dS&Pr,W]
<%
`a0tD1|6a0 strBrowser=Request.ServerVariables('HTTP_USER_AGENT')
\2R~ ~0n0 If Instr(strBrowser,'MSIE') <> 0 Then51Testing软件测试网6Zw/Ul:o;O8d&TX*W#C
Response.redirect('formSIEOnly.htm')
&_/E+?gU7Ns0 Else
8_JXT4ww+l e0 Response.redirect('ForAll.htm')51Testing软件测试网)T$XfrvA/a&D
End If
#ySgML0 %>
c4uYvO+sK3I7C:tX0
+c3N? tHlz4fL03.如何计算每天的平均反复访问人数51Testing软件测试网L{-?[r
答:解决方法51Testing软件测试网0K%q!W
i zZ/D
<% startdate=DateDiff('d',Now,'01/01/1990')51Testing软件测试网\Z$dq[8?d
if strdate< 0 then startdate=startdate*-151Testing软件测试网z7eIRI Ip
avgvpd=Int((usercnt)/startdate)
B%lFF
|7T0 %>
5q!jE5?j0 显示结果
T}1nr+[;Q0 <% response.write(avgvpd) %>51Testing软件测试网e&e2KGV5xz q
p(j
that is it.this page have been viewed since November 10,1998
%]6Y o&[~W0
L.YB'VW6@'N0{:s04.如何显示随机图象51Testing软件测试网#IC'}+@w
<% dim p,ppic,dpic
+e Wld8Qp&j0 ppic=1251Testing软件测试网&m5|
tD!j
randomize51Testing软件测试网5@mt&XYJ
p=Int((ppic*rnd)+1)51Testing软件测试网7K7w1~:Is9Q~H4x
dpic='graphix/randompics/'&p&'.gif'
P@(J2`
G0 %>51Testing软件测试网.fy5M.gB5UC Y%A4?.c
显示51Testing软件测试网0N!z-M,W,FL/igU/m
<img src='< %=dpic% >' >
`m;{}'Y}~S'i0
u|O"qa{J
J05.如何回到先前的页面51Testing软件测试网e P?S7X|$m1d\
答:<a href='<%=request.serverVariables('Http_REFERER')%>' >preivous page</a>51Testing软件测试网%A[P H3P)|\
或用图片如:< img src='arrowback.gif' alt='< %=request.serverVariables ('HTTP_REFERER')% >' >
&Is|^'V
iA
EI0
Gc8}w3Uw&em#n06.如何确定对方的IP地址
!Q!S.d3t g
E0答:< %=Request.serverVariables('REMOTE_ADDR)% >
.q4dh4i7]W bt
l0
P-R:o5~7J6S,cc07.如何链结到一副图片上
u%l!b+QREt,Of%T0答:< % @Languages=vbscrīpt % >
!s$Mw4P]T0< % response.expires=051Testing软件测试网r$R-J4V/w8}F
strimagename='graphix/errors/erroriamge.gif'
v6[Z4pQ0response.redirect(strimagename)
2L.P,i?8Z2hh F/Q}#U0% >
p
fV)G!zrWf0
:|
K9l&}\'Z_#d,BGw@08.强迫输入密码对话框
2B,iq Wqc$l0答:把这句话放载页面的开头51Testing软件测试网'Tc`1Hc-k C
< % response.status='401 not Authorized'51Testing软件测试网!FJ~wfj8B&S
response.end
w8D(sBO0% >
0E/K+F+q}7j.@7LEf051Testing软件测试网\1x;B5V;_-Y
9.如何传递变量从一页到另一页
4lZ Z}1r%`h3d0答:用 HIDDEN 类型来传递变量51Testing软件测试网Z'e*|5lHs'K
<form method='post' action='mynextpage.asp' >
]z f @X~`f0< % for each item in request.form % >
H1Lhpo}7q0< input name='< %=item% >' type='HIDDEN'
'N4uw&vBc0value='< %=server.HTMLEncode(Request.form(item)) % >' >51Testing软件测试网[{!qg `
< % next % >
z^2N
Yx0< /form >51Testing软件测试网TP9d:_)g#f#v`f
51Testing软件测试网3~O5PDl+M
10.为何我在 asp 程序内使用 msgbox,程序出错说没有权限51Testing软件测试网 vB({U
bG2t#wA(?y
答:由于 asp 是服务器运行的,如果可以在服务器显示一个对话框,那么你只好等有人按了确定之后,你的程序才能继续执行,而一般服务器不会有人守着,所以微软不得不禁止这个函数,并胡乱告诉你 ( 呵呵) 没有权限。但是ASP和客户端脚本结合倒可以显示一个对话框,as follows:
p DBch@Z0<%yourVar='测试对话框'%>
V|&}2\zfu0<scrīpt language='javascrīpt'>51Testing软件测试网4iu
x4k?%h|s
alert('<%=yourvar%>')51Testing软件测试网&}Q:K3kD ~)od%Mf
</scrīpt>
9X5jEL"U8`lk011.有没有办法保护自己的源代码,不给人看到51Testing软件测试网:iG5rJ!ijg xmg
答:可以去下载一个微软的Windows scrīpt Encoder,它可以对asp的脚本和客户端javascrīpt/vbscrīpt脚本进行加密。。。不过客户端加密后,只有ie5才能执行,服务器端脚本加密后,只有服务器上安装有scrīpt engine 5(装一个ie5就有了)才能执行。
cj,C+QYk051Testing软件测试网"^H1@&lCl"p g
12.怎样才能将 querystring 从一个 asp 文件传送到另一个?
`W
K0cjA
uL0答:前者文件加入下句: Response.Redirect('second.asp?' & Request.ServerVariables('QUERY_STRING'))51Testing软件测试网*Hmq&^&U
51Testing软件测试网A!hp_ c"rc7n,Y
13.global.asa文件总是不起作用?51Testing软件测试网3JgY
qH Tj G5l_l
答:只有web目录设置为web application, global.asa才有效,并且一个web application的根目录下 global.asa才有效。IIS4可以使用Internet Service Manager设置application setting 怎样才能使得htm文件如同asp文件一样可以执行脚本代码?
a
`(`(A@.t,d,p0tS?051Testing软件测试网8a?Eg!Ed
14.怎样才能使得htm文件如同asp文件一样可以执行脚本代码?
_*M-I3@&v1c
lr0答:Internet Sevices Manager - > 选择default web site - >右鼠键- >菜单属性-〉主目录- > 应用程序设置(Application Setting)- > 点击按钮 '配置'- > app mapping - >点击按钮'Add' - > executable browse选择 \WINNT\SYSTEM32\INETSRV\ASP.DLL EXTENSION 输入 htm method exclusions 输入PUT.DELETE 全部确定即可。但是值得注意的是这样对htm也要由asp.dll处理,效率将降低。51Testing软件测试网5dY
xV/cz f
51Testing软件测试网!Q"O'h
xV(p1K5]`o
15.如何注册组件
)|:npkeM;Qt0答:有两种方法。
b1O%N2K/~'i6U ?0第一种方法:手工注册 DLL 这种方法从IIs 3.0一直使用到IIs 4.0和其它的Web Server。它需要你在命令行方式下来执行,进入到包含有DLL的目录,并输入:regsvr32 component_name.dll 例如 c:\temp\regsvr32 AspEmail.dll 它会把dll的特定信息注册入服务器中的注册表中。然后这个组件就可以在服务器上使用了,但是这个方法有一个缺陷。当使用这种方法注册完毕组件后,该组件必须要相应的设置NT的匿名帐号有权限执行这个dll。特别是一些组件需要读取注册表,所以,这个注册组件的方法仅仅是使用在服务器上没有MTS的情况下,要取消注册这个dll,使用:regsvr32 /u aspobject.dll example c:\temp\regsvr32 /u aneiodbc.dll
5z;{%W-w-oBN0第二种方法:使用MTS(Microsoft Transaction Server) MTS是IIS 4新增特色,但是它提供了巨大的改进。MTS允许你指定只有有特权的用户才能够访问组件,大大提高了网站服务器上的安全性设置。在MTS上注册组件的步骤如下:51Testing软件测试网V2w
r6j[
1) 打开IIS管理控制台。