动态网页中常用的6个ASP程序

 1. 下面的代码演示了如何在服务端获取来自客户端浏览器中某一个图片的x,y坐标,注意input控件的类型是image类型。

<form>
<Input Name="ImageMap" Type="Image" Src="http://edu.cnzz.cn/NewsInfo/ImageMap.jpg" Alt="Click Anywhere">
</form>
<%ImageMap.x = <%=Request("ImageMap.x")
ImageMap.y = <%=Request("ImageMap.y")%>
 
  2. 利用ADODB.Stream对象,在IE浏览器中下载服务端上的各类文件。

  即直接提示用户下载而不是由浏览器打开某些文件。注意,下面的代码拷贝到ASP文件中后,不要再添加一些非ASP代码在页面中:如HTML和javascript客户端的代码。

 <%
'--------------------------------------------
Response.Buffer = True
Dim strFilePath, strFileSize, strFileName
Const adTypeBinary = 1
strFilePath = "文件路径 "
strFileSize = ... 文件大小,可选
strFileName = "文件名"
Response.Clear
'8*******************************************8
' 需要在你的服务器上安装 MDAC 2.6 或MDAC2.7
'8*******************************************8
Set objStream = Server.CreateObject("ADODB.Stream")
objStream.Open
objStream.Type = adTypeBinary
objStream.LoadFromFile strFilePath
strFileType = lcase(Right(strFileName, 4)) '文件扩展名
' 通过文件扩展名判断 Content-Types
Select Case strFileType
Case ".asf"
ContentType = "video/x-ms-asf"
Case ".avi"
ContentType = "video/avi"
Case ".doc"
ContentType = "application/msword"
Case ".zip"
ContentType = "application/zip"
Case ".xls"
ContentType = "application/vnd.ms-excel"
Case ".gif"
ContentType = "image/gif"
Case ".jpg", "jpeg"
ContentType = "image/jpeg"
Case ".wav"
ContentType = "audio/wav"
Case ".mp3"
ContentType = "audio/mpeg3"
Case ".mpg", "mpeg"
ContentType = "video/mpeg"
Case ".rtf"
ContentType = "application/rtf"
Case ".htm", "html"
ContentType = "text/html"
Case ".asp"
ContentType = "text/asp"
Case Else
'Handle All Other Files
ContentType = "application/octet-stream"
End Select
Response.AddHeader "Content-Disposition", "attachment; filename= strFileName
Response.AddHeader "Content-Length", strFileSize
Response.Charset = "UTF-8" ' 客户端浏览器的字符集UTF-8
Response.ContentType = ContentType
Response.BinaryWrite objStream.Read
Response.Flush
objStream.Close
Set objStream = Nothing
%> 
  

3.提升ASP页面的响应速率

  在你的ASP页面的第一行加入:

 <% ENABLESESSIONSTATE = False %>

  这会关闭session对象,提升你的服务器响应速率,比较常见的问题是一个html页面包含了两个框架页面(至少有一个是ASP页面,并使用了session),这将使得必须等待某一个框架页(当然这个框
架页中使用了session)加载完后,另一个框架页面才会显示。

  如果你使用代理访问, 默认情况下,许多代理服务器不会动态缓存ASP页面内容,加入下面的代码:

<%
Response.CacheControl = "Public"
%>

  这行代码会将ASP页面缓存在代理服务器上,从而加快客户端请求动态页面的响应速率,一些不经常变化的ASP页面将直接从代理服务器上取得。

  4. 要知道浏览器(IE为例)不会解析回车和换行字符,如果你用Response.write方法写一行包含了回车和换行字符的字符串到动态页面中,其结果可想而知,你需要做的是:

 <%
Response.Write(Replace(body, vbCrLf,"<br>"))
%>

  用<br>来代替回车和换行。注意:如果回车和换行字符出现在form中的input/textarea等控件中,可以不必这么做。

  5. 用ASP代码写IIS日志

<%
     Response.AppendToLog "数据库正在被访问"
%>

  执行这段代码后,在你的IIS日志中可能会出现下面的字符串:

127.0.0.1, -, 01/01/00, 12:00:34, W3SVC1,WEBSERVER,
127.0.0.1, 161342, 485, 228, 200, 0, get, /somefile.asp, 数据库正在被访问

  注意:由于日志文件中的内容是按逗号分隔,所以写入的日志内容应避免使用逗号。

  6. 如何访问远程计算机上MDB数据库文件

  如果你用ODBC连接(DSN方式或其它方式)到远程计算机的MDB文件,这将产生一个错误:
Microsoft OLE DB Provider for ODBC Drivers error '80004005' 大致意思是该文件可能被其他用户访问或无足够的权限访问。

  下面有两种方式,避免这个错误:

    方式a. 使用DAO引擎访问

   Dim File, Conn, RS
  Const ReadOnly = False
  File = \\server\share\file.mdb
  Set Conn = CreateObject("DAO.DBEngine.35").Workspaces(0).OpenDatabase(File,,ReadOnly)
  Set RS = Conn.OpenRecordset(SQL)

  方式b. ADO + Jet OLE DB provider方式

   Dim Conn, RS
  Set Conn = CreateObject("ADODB.Connection")
  Conn.Provider = "Microsoft.Jet.OLEDB.4.0"
  Conn.Open \\server\share\file.mdb
  Set RS = Conn.Execute(SQL)

    确定在运行ASP页面时有足够的访问权限以访问远程计算机上的MDB文件,在访问MDB文件前需要先登录到远程计算机,添加下面的代码

    Set UM = CreateObject("UserManager.Server")
    UM.LogonUser "帐号", "口令", "域"
  ...
  open database
  ...
    UM.RevertToSelf

时间: 2024-10-12 07:41:50

动态网页中常用的6个ASP程序的相关文章

ASP实例:动态网页中常用的6个ASP程序

程序|动态|网页  1. 下面的代码演示了如何在服务端获取来自客户端浏览器中某一个图片的x,y坐标,注意input控件的类型是image类型. <form><Input Name="ImageMap" Type="Image" Src="http://www.webjx.com/htmldata/2007-06-14/ImageMap.jpg" Alt="Click Anywhere"></for

ASP动态网站中常用的四个实例程序

程序|动态 一.让网站和用户实现交互       你可以制作一个像SendUserInfo.htm似的网页,只用把<form method="POST" action="--WEBBOT-SELF--">改成<form method="POST" action="UserInfo.asp">就可以把你所提交的数据传送给UserInfo.asp处理.     UserInfo.Asp的源代码 Reques

动态网页中直接不让访问PHP程序文件

由于我们有需要用到某些php文件,而又不希望别人直接访问这个文件,我们可以在其他包含文件比如global.php中定义一个参数,在被访问页面data.php前面判断是否定义了该参数,没有定义则禁止访问. 在global.php中定义 以下为引用的内容: <?phpdefine('ROOT','./');?>在data.php文件中判断: <?//data.phpif (!defined("ROOT")) { echo "You Cannot Access T

应用技巧:动态网页中直接不让访问PHP程序文件

由于我们有需要用到某些php文件,而又不希望别人直接访问这个文件,我们可以在其他包含文件比如global.php中定义一个参数,在被访问页面data.php前面判断是否定义了该参数,没有定义则禁止访问 在global.php中定义 <?phpdefine('ROOT','./');?> 在data.php文件中判断: <?//data.phpif (!defined("ROOT")) { echo "You Cannot Access This Script

把网页中的电话号码生成图片的ASP程序

以下是引用片段: <% Call Com_CreatValidCode(Request.QueryString("tel")) Public Sub Com_CreatValidCode(pTel) '----------禁止缓存 Response.Expires = 0 Response.AddHeader "Pragma","no-cache" Response.AddHeader "cache-ctrol",&qu

在网页中实现折叠式菜单的ASP通用程序

菜单|程序|网页 在网页中实现折叠式菜单的ASP通用程序                                    中国银行山西省晋城分行科技科 元晋豫        随着Internet/Intranet的日益普及,Web编程和网页制作已成为一种趋势.本文给读者介绍一种在网页中实现折叠菜单的编程技术,相信会给你的网页增色不少.所谓折叠菜单其实是一种动态显示的菜单,即在未进行菜单操作时,只显示主菜单,当选择某菜单项时,其下级子菜单动态地显示出来,选择完成后,又隐藏起来.       

入门:初学ASP动态网页制作常用错误处理

初学|错误|错误处理|动态|网页 ASP错误处理 ASP是非常简单的,以至于许多的开发者不会去思考错误处理.错误处理能够让你的应用程序更加合理.我看到过很多个用ASP编写的商业网站,大多数都忽略了错误处理.   错误的类型 有三种主要的错误类型:  编译错误: 这种错误出现一般都是代码的语法问题.因为编译错误而导致辞ASP停止运行.  运行错误 这个错误是发生在你准备运行ASP时的.例如:如果你试图给一个变量赋值,但是却超出了该变量允许的范围.  逻辑错误 逻辑错误是最难被发现的,这种错误经常是

正确处理ASP动态网页中的容错机制

动态|容错|网页 以国内最流行ASP为例,我不知道有多少人会在写代码时想到"容错"这个概念,实际上当我遇到这种事时,也是不了了之.为什么呢,想想最初的意思是认为写如下代码就能容错了,见示例1-1.<%@ Language=VBScript %><%option explicit%><%'出错过滤on error resume next-----(代码略)%>示例1-1 常见代码一瞥 以上代码就经常出现在各位同仁的手中,不用说出个中原因,我完成能理解各

CSS网页制作教程:网页中常用的web安全字体

在Web编码中,CSS默认应用的Web字体是有限的,虽然在新版本的CSS3,我们可以通过新增的@font-face属性来引入特殊的浏览器加载字体,但多数情况下,考虑各个因素的影响我们还是在尽量充分利用这些默认调用的字体实现CSS的编写,这里整理了19个Web安全字体,让你无需任何顾虑的情况下畅快使用. 1,  Arial 微软公司的网页核心字体之一,最常用的sans serif字体,当字号很小时不容易阅读.但是,大写的"I"和小写的"l"是无法区别的,你可以考虑用T