快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

几个经典的ASP应用

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




<form>
<Input Name="ImageMap" Type="Image" Src="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 = "\\serversharefile.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 "\\serversharefile.mdb"
Set RS = Conn.Execute(SQL)

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

登录到远程计算机,添加下面的代码


Set UM = CreateObject("UserManager.Server")
UM.LogonUser "帐号", "口令", "域"
...
open database
...
UM.RevertToSelf
返回类别: 教程
上一教程: ASP获取机器的网络属性配置
下一教程: VISUALINTERDEV6.0七种实现分页显示的方式

您可以阅读与"几个经典的ASP应用"相关的教程:
· CHART组件在ASP中的应用
· Asp+的几个特点
· 一个功能完善的专栏治理的程序->这是asp.net的第二个应用(一)
· ASP应用:用STREAM读文件
· ASP:COOKIES应用指南,具体代码及教程
    微笑服务 优质保证 索取样品