如何建网站要什么条件,手机app下载网,专门做超市dm网站,简述电子商务网站的开发流程懂ASP#xff08;Active Server Pages#xff09;的人很多#xff0c;但能用ASP自如地调用ActiveX控件的人却不多#xff1b;如果不调用ActiveX控件#xff0c;则可以说微软当初设计ASP的初衷根本没有达到。众所周知#xff0c;ActiveX技术是微软在Internet上除了IE外的另…懂ASPActive Server Pages的人很多但能用ASP自如地调用ActiveX控件的人却不多如果不调用ActiveX控件则可以说微软当初设计ASP的初衷根本没有达到。众所周知ActiveX技术是微软在Internet上除了IE外的另一个新举措可以说该技术渗透在它的整个Internet策略中。ActiveX是一个功能强大的部件可以用VB、C或C等语言进行编写因为是编译性执行故速度比较快。 在ASPActive Server Pages中内建了多个功能强大的ActiveX Server控件包括Ad Rotator动态广告生成控件、BrowserType Capabilities浏览器相容控件、Database Access数据库存取控件、Content Linking文件链接控件和File Access Component文件存取控件等。当然ASP除了可以调用内嵌的ActiveX控件外还可以调用其他用户编写的标准的ActiveX控件。 在使用控件前先要进行定义如% Set对象变量名称Server.CreateObject(ADODB.Connection) %或直接用HTML的OBJECT和/OBJECT标记进行定义效果一样。 例OBJECT RUNATSERVER ID对象变量名称 PROGIDADODB.Connection /OBJECT 定义好后我们就可以开始调用它的方法来配合相关工作的进行。 一内嵌各种ActiveX控件的方法和属性 1Database Access数据库存取控件 这是一个非常重要的部分因为50%以上的工作几乎都要涉及到数据库使用该控件可以说是必不可少的。在ASP中使用ADO(Active Data Objects)来存取数据库资料如果是远程的数据源则可采用RDO(Remote Data Objects)。ADO包括以下七个对象类。 Command定义一些特别的命令语法让你可以执行相应的程式。 Connection提供对OLE DB信息源的链接。 Error用来描述存取数据库时发生的错误。 Field以行作为读取信息单元。 Parameter使用Command时需传入的参数。 Property记录ADO对象的动态特性。 Recordset用来保存读取回来的数据库信息。 下面以一个最普通的例子来说明读取数据库信息、然后发布该信息的步骤。首先在ODBC Driver里建立一个名字为test的System DSN链接到你的任意一个数据库上然后用写字板创建一个后缀名为.asp的文本,内容如下。 HTMLBODY % set DCCREATEOBJECT(ADODB.CONNECTION) 定义一个DC为Connection的对象 DC.OPEN test OPEN是Connection的一个方法如果你链接的是Access或Foxpro数据库则可采用上面的方法如果是其他类似于sql、oracle等需要用户名和密码才允许访问的数据库则可通过DC.OPENtest,uid,password来打开数据库源。 SQLselect * FROM JOB set RESULTDC.EXECUTE(SQL) EXECUTE是Connection的另一个方法用于执行SQL语句。这里定义RESULT为RECORDSET对象用于接收SQL语句执行后的返回结果。如果不需要保存返回结果则可直接调用“DC.EXECUTE SQL。 DO WHILE NOT RESULT.EOF RESPONSE.WRITE RESULT(NAME) 假设NAME是数据库的一个属性。 RESULT.MOVENEXT 除了MOVENEXT外还有MOVEFIRST、MOVELAST等方法与VB类似。 LOOP RESULT.CLOSE % /BODY/HTML 从上面的例子中我们可以清楚地看到链接OLE DB信息源最常用的类是Connection类其方法包括OPEN、EXECUTE、CLOSE、BEGINTRANS、COMMITTRANS和ROLLBACKTRANS。如果你很熟悉SQL Script中的回滚操作那么对BEGINTRANS一定不会感到陌生最后三个方法是用于对一些事件进行回滚的操作其语法如下要补充的一点是如果你能在数据库里完成回滚的操作那么最好在数据库里进行因为这样效率会更高对系统的影响也就会更少。 BEGINTRANS 语法[level]Connection 对象.BeginTrans 其中level是一long类型的变数用来存储BeginTrans方法所传回的level值。 COMMITTRANS 语法Connection 对象.CommitTrans 存储当前的所有动作和结果。 ROLLBACKTRANS 语法Connection 对象.RollbackTrans 取消所有从BeginTrans开始的工作并重新进行初始化。 这里只对最常用的Connection类进行了详细的介绍如果希望进一步了解Database Access其他类库可访问http://www.microsoft.com/ado/站点。 2Ad Rotator动态广告生成控件 广告在网络上的效果越来越为人们所认识“网盟”WebUnion就是一个很好的范例。一个好的广告发布程序并不容易编写因为你要考虑包括图片出现的频度、图片的名字、链接的地址、显示的尺寸、还有速度、效率和维护等诸多的问题。当然如果你们是一个象WebUnion这样的大型站点则这是必须的但如果你们只是一个小站点只是希望简单地动态显示一些图片包括链接和方便维护那么Ad Rotator动态广告生成控件绝对是你的首选。 为了使你有一个直观的认识我们将先介绍建立动态广告的步骤然后再细述其方法。产生动态广告要涉及到三个文件主文件main.asp、文本文件info.txt、副文件redi.asp。 main.asp为要显示广告的页面内容为 % Set adServer.CreateObject(MSWC.AdRotator)% % ad.GetAdvertisement(info.txt)% 第一行是创建Ad Rotator类的对象第二行用于取得广告资料。 info.txt是广告的资料内容为 redirect redi.asp width 400 height 60 border 1 * 1.jpg http://www.gznet.com 广州视窗 20 2.gif http://zyr.yeah.net 网络新地带 30 第一行表示当用户点击图片时系统自动调用redi.asp程序下面依次为广告的宽度、高度和边宽再下面为图片的名字、链接的地址、广告说明在html中的标记为alt...和显示的频度。 redi.asp是当用户点击图片时系统需调用的文件它只做一个redirect的工作。内容为 %response.redirect(request.querystring(url))% 整个编写和维护工作都非常简单。如果你希望增加、减少或修改某些广告图片和链接地址只需修改info.txt文本文件即可。Ad Rotator类有三个属性Border指定广告图片的边宽、Clickable指定该广告图片是否提供链接功能、TargetFrame指定点击超链接后的浏览页面和一个方法GetAdvertisement读取广告信息。如果你采用了信息档案文本(txt)就不需要考虑Ad所提供的属性了如前面的例子。 3File Access ComponentFileSystemObject文件存取控件 该控件主要用于读取Unicode或ASCII码的文件包含的方法如下 ·CreateTextFile 建立一个TextStream的对象并指向实际操作的文本或希望建立的文件名及目录如 set FILECREATEOBJECT(SCRIPTING.FileSystemObject) set F1FILE.CreateTextFile(C:\TEST.TXT,TRUE) ;True表示允许覆盖False表示不允许覆盖这里缺省了一个参数unicode缺省和False表示建立的文件是ASCII格式True表示文件为Unicode格式。 F1.WRITELINE(你好!) F1.CLOSE TextStream对象具有以下方法即上文中的F1。 Close关闭对象 Read读取已打开的文件资料带参数指明希望读取的字节数如F1.Read(characters)。 ReadAll读取已打开文件的全部信息返回字符串。 ReadLine读取已打开文件的一行信息返回字符串。 Skip跳过已打开的文件信息带参数指明希望跳过的字节数如:F1.Skip(characters)。 SkipLine跳过已打开文件的一行信息。 Write把资料写入到已打开的文件中如F1.Write(string)。 WriteLine把信息写入到已打开的文件中并换行。 WriteBlankLine把空行写入到已打开的文件中带参数指明希望写入的空行数如F1.WriteBlankLine(lines)。 ·OpenTextFile 打开一个已存在的文件并建立一个TextStream对象。 语法[object].OpenTextFile(filename[,iomode[,create[,format]]]) 参数说明 object自定义的FileSystemObject对象名称。 filename希望打开的文件名称。 iomode可选参数为ForReading读取或ForAppending编辑。 create指定如果文件不存在是否自行建立True表示建立False表示不建立。 format可选参数为TristateTrue以Unicode方式打开、TristateFalse以ASCII方式打开、TristateUseDefault用文件缺省形式打开和缺省时以ASCII方式打开。 4Content Linking文件链接控件 该控件用于管理一些超链接信息例如我们经常会在html文本中有一些友情链接指向其他站点如果我们在多个页面上有这些信息修改时就需要做多次修改。使用了该控件后所有这些链接信息都可放在同一个文本文件中修改时只需对该文本文件进行修改。其方法如下 GetListCount计算URL列的总数。 语法GetListCount文件名 GetNextURL读取下一个URL链接地址。 语法GetNextURL文件名 GetPreviousDescription读取前一个URL链接的描述。 语法GetPreviousDescription文件名 GetListIndex获取当前资料的索引号码。 语法GetListIndex文件名 GetNthDescription获取当前索引号码的超链接的描述。 语法GetNthDescription文件名索引号码 GetPreviousURL读取上一个URL链接地址。 语法GetPreviousURL文件名 GetNextDescription读取下一个URL链接的描述。 语法GetNextDescription文件名 GetNthURL获取当前索引号码的超链接地址。 语法GetNthURL文件名索引号码 调用该控件可用下列代码 ... % set LINKSERVER.CREATEOBJECT(MSWC.NEXTLINK)% %COUNTLINK.GETLISTCOUNT(LINK.TXT)% %I1% %DO WHILE (ICOUNT)% A HREF%LINK.GETNTHURL(LINK.TXT,I)% % LINK.GETNTHDESCRIPTION(LINK.TXT,I)% %II1% %LOOP% ... LINK.TXT的文件格式如下 www.gznet.com广州视窗 zyr.yeah.net网络新地带 5BrowserType Capabilities浏览器相容控件 通过ASP的Server内嵌对象可以获取如IP地址等客户端的信息但如要获取如客户端浏览器是否支持ActiveX控件、背景音乐等客户端浏览器的详细资料则只能求助于BrowserType控件。该控件通过把客户端的请求报头与Browscap.ini文件进行比较得出客户端浏览器的详细资料通过读取该控件的属性可以获取相应的资料。 属性 ActiveXControls是否支持ActiveX Controls。 Backgroundsounds是否支持背景音乐。 BetaBeta的版本。 Browser浏览器名称。 Cookies是否支持cookies。 Frames是否支持frame。 Javascript是否支持javascript。 Platform客户端平台。 Tables是否支持table。 Vbscripts是否支持vbscript。 Versions版本名称。 二如何调用用户编写的ActiveX控件 调用一些free或用户编写的ActiveX控件是ASP一个非常重要的高级应用下面将用一个例子具体描述其调用步骤。因特网上最常见的就是下载功能了而上载功能却不是每个站点都能提供。上载就是通过浏览器把客户端的文件传到服务器上该例子就是一个实现上载功能的应用。为了简单起见这里利用一个free的ftp ActiveX控件当然也可以自己编写来实现该功能。该控件名称为ASPINET.FTP可从http://www.genusa.com/asp/站点处下载。该例子含两个文件一个用于完成客户端选取文件的功能select.html、一个用于完成接受信息流的功能receive.asp。 1安装该控件 1) 解压 2) 把DLL文件移到系统的相应目录下(如\winnt\system32 for NT)并修改系统注册表如果不是很熟悉系统注册表的修改可执行以下命令系统会自动完成所有工作你的系统需要有WinInet.dll文件。 regsvr32 ASPInet.DLL 3) 运行MarkInet.exe使注册表中所修改的信息生效。 2select.html html body form methodpost actionreceive.asp 客户端的文件名input typefile namecfilename br 上载到服务器后的文件名input typetext namesfilename 你可通过网页输入希望上载到服务器上的文件名称 br input typesubmit namesubmit value确定“ /form /body /html 3receive.asp % cfilenamerequest(cfilename) ;读取客户端的文件名及路径 sfilenamerequest(sfilename) ;读取希望上载到服务器上的文件名 FTP_TRANSFER_TYPE_ASCII 1 FTP_TRANSFER_TYPE_BINARY 2 set ftpconnSERVER.CREATEOBJECT(AspInet.FTP) ;创建ftp ActiveX控件对象 if FtpConn.FTPPutFile(Ftp服务器地址“,anonymous, userhostname.net,sfilename,cfilename,FTP_TRANSFER_TYPE_BINARY) then 参数说明依次为Ftp服务器地址、使用者名字、密码、Server端文件名及路径相对于Ftp根目录而言该例子使用缺省目录即Ftp根目录、客户端的文件名及路径、传送类型ASCII/Binary Response.Write pFTP upload Success...br else Response.Write pFTP upload Failed...br end if % 如果你已经熟练地掌握了ASP各内嵌对象包括ActiveX控件的使用方法则一般的应用对于你来说已不是难事。但要提高开发效率则必须充分利用微软提供的ASP开发工具InterDev配合开发。