WebClasses使注册变得容易
2008-02-23 05:31:33来源:互联网 阅读 ()
使用VB6的新的WebClass技术使得容易创建灵活而又功能 强大的基于Internet应用程序
今年早些时候,我们曾向你展示了如何编写一个注册应用程序,它允许用户访问你的页面并注册一个软件产品.["Create a User Registration Class,"VBPJ 1998年4月和"Add E-Mail Registration to your Server,"VBPJ 1998年5月].在注册后,应用程序将通过e-mail给用户发一个序列号,同时还存在一个跟Web的连接以继续注册过程.早些时候给你示范的VB5应用程序创建了一个运行在Web服务器上的ActiveX DLL和一个测定用户的状态的并适当的调用该DLL的相应的ASP脚本.(Active Server Page).现在VB6为编写这种类型的应用程序提供了一种新的手段,既使用新技术-WebClass.
简而言之,WebClass是运行在Web服务器上的ActiveX DLL.它允许客户端的浏览器上的HTML页的超链接激活服务器DLL中的事件.WebClass的编程模式类似于传统的VB模式-不同之处在于,VB中是窗体中包含控件,而WebClass应用程序是Web页面包含控件.在服务器端,对于开发者来说他知道完整的的VB事件模型,这样可以进行高度的交互式的Web开发.在本专栏中,我们将讨论如何创建一个简单的WebClass应用程序,向你说明这事是多么简单.
为创建一个简单的WebClass应用程序,你应启动VB6并在新工程的对话框中选择IIS应用程序.在属性窗口中将工程命名为SimpleReg.双击工程浏览器中的WebClass设计器.(你能可通过View菜单看到属性窗口和工程浏览器).在属性窗口中,命名WebClass为wcSimple并在NameURL属性中输入SimpleReg.这将在编译ActiveX DLL时创建一个名为SimpleReg.asp的启动文件.接着保存该工程.
一个WebClass应用程序通过使用HTML模板在用户的浏览器上显示HTML.由于VB6没有包括HTML编辑器,你必须在VB6外创建一个HTML模板(VB6的DHTML设计器完全跟WebClass无关).你可以用任意的HTML编辑器,但由于Visual Studio包括Visual InterDev(VID) 6.0,所以VID是合理的选择.
在VB6的Tools|Options菜单中为Visual Basic设定Visual Staudio为缺省的HTML编辑器.在Advanced标号,将如下Visual InterDev的路径-C:\Promram Files\Microsoft Visual Studio\Common\IDE|IDE98\Devenv.exe填入外部的HTML编辑框中.你将通知Visual InterDev制作用于你的工程的模板文件的副本.如:你的模板叫WebPage.htm的话,那InterDev创建一个名为Web1Page.htm的副本.如果你用记事本或其他编辑器创建你的模板时请考虑到这一点.
在例程代码中,SimpleReg.htm文件是一个由Visual InterDev创建的模板.在WebClass设计器的左边的窗格中,选择HTML Template WebItem文件夹.如下操作可在工程中添加SimpleReg模板:点击AddHTML Template WebItem键并在文件选择对话框中选择SimpleReg.htm文件(见图1).命名该新的WebItem为tplSimple.双击tplSimple查看关于WebClass的代码.找到WebClass_Start过程并用如下代码代替原来生成的代码以在加载WebClass时显示模板:
Private Sub WebClass_Start()
'显示主要的HTML模板 www.knowsky.com
Session("Title") = "Enter Your" & "Registration Information"
tplSimple.WriteTemplate
End Sub
WebClass_Start过程类似于传统的VB应用程序的Form_Load过程.运行程序并观看你的浏览器所展示的HTML页.退出浏览器并终止VB应用程序.(这是在调试开发过程中的正常的关闭WebClass的方法).
在WebClass设计器中,右击tplSimple WebItem并从上下文菜单中选择编辑HTML模板.你将在你的缺省的HTML编辑器中看到模板页.阅读源代码,你能看到这是一个有三种特殊的被称为标签的部分组成的简单的页,格式如下:
<TitleWC@TAGTITLE>Title</WC@TAGTITLE>
这些标签的文本部分的("Title")在运行时被你所添加到WebClass的代码取代.当执行WrieteTemplate方法时,它为HTML模板中的所找到的每个标签调用一次称为ProcessTag的特殊过程.回到VB,双击tplSimple WebItem显示代码窗口.在代码窗口的上部的组合框内选择tpSimple_ProcessTag过程,并添加如下代码:
Dim sHTM As String
Select Case TagName
Case "WC@TAGTITLE"
TagContents =Session("Title")
Case "WC@TAGMAIL"
sHTM = "Enter Email Address:<br>"
sHTM = sHTM & "<input type= 'text'"
sHTM = sHTM & " name= 'Email'><br>"
TagContents = sHTM
Case "WC@TAGNAME"
sHTM = "Name:<br>"
sHTM = sHTM & "<input type= 'text'"
sHTM = sHTM & " name= 'Name'><br>"
TagContents = sHTM
End Select
回传TagContent参数中的HTML代码以替换标签.在tplSimple中设定断点.WriteTemple加到WebClass_Start过程中,并运行你的应用程序.在断点,用F8单步调试该工程以看看事件的发生的顺序.你将看到ProcessTag过程被调用了三次-为模板中的每个标签调用一次.真正酷的事是:在运行过程中过程将用能在浏览器中产生文本框的HTML代码取代E-mail和Name标签.
能交互式地调试你的服务器端的事件代码是用VB开发WebClass应用程序的的非常强大的功能之一.在VB5的Web开发中,ASP脚本中的VBScript完成了大量的工作.你不可能在ASP脚本中交互式地调试VBScript-唯一可行的不幸的途径是错误,再试.然而在VB6中,所有的服务器端的代码都是在WebClass中运行的并且你可以利用VB的优秀的设计环境进行交互式地调试.
连接一个事件
下一步是在该简单的应用程序中为窗体中的Register Me按钮添加事件处理代码.回到VB的WebClass设计器,点击tplSimple WebItem.在右边的窗格中,你将看到一列该页中的HTML成员,你可以将事件跟它们联系起来.右击Form1标签并选择Connect to Custom Event菜单项,并注意到紧挨着Form1的位于Target列中的事件名称.快速的看一下HTML模板(右击tplSimple并选择编辑HTML模板).找到窗体的成员,它们现在是象这样的.
<FORM method = 'post' action = SimpleReg.ASP?WCI=tplSimple _
&WCE=RegisterMe&WCU>
SimpleReg.asp是特殊的ActiveXDLL启动脚本.问号后的值表明WebClass Item(WCI)是tplSimple,WebClass事件(WCE)是RegisterMe,WebClass URLData(WCU)是空的.当用户在浏览器中点击Register Me按钮时,这一行将激活ActiveX服务器DLL中的tplSimple_RegisterMe按钮.就这样,窗体的活动就跟服务器端的事件联系起来,但是你能在浏览器中设定超链接以激活服务器里事件.WebClass对Web应用程序的开发如同魔法一般-它们将VB的事件驱动的编程方式扩展到基于浏览器的应用程序.
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:用VB将ASP代码封装成DLL
下一篇:asp事务处理
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash