盾怪网教程:是一个免费提供流行杀毒软件教程、在线学习分享的学习平台!

WebClasses使注册变得容易

时间:2024/11/30作者:未知来源:盾怪网教程人气:

[摘要]IDE98\Devenv.exe填入外部的HTML编辑框中.你将通知Visual InterDev制作用于你的工程的模板文件的副本.如:你的模板叫WebPage.htm的话,那InterDev创建一...
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编辑器中看到模板页.阅读源代码,你能看到这是一个有三种特殊的被称为标签的部分组成的简单的页,格式如下:

<WC@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 _
&amp;WCE=RegisterMe&amp;WCU>

SimpleReg.asp是特殊的ActiveXDLL启动脚本.问号后的值表明WebClass Item(WCI)是tplSimple,WebClass事件(WCE)是RegisterMe,WebClass URLData(WCU)是空的.当用户在浏览器中点击Register Me按钮时,这一行将激活ActiveX服务器DLL中的tplSimple_RegisterMe按钮.就这样,窗体的活动就跟服务器端的事件联系起来,但是你能在浏览器中设定超链接以激活服务器里事件.WebClass对Web应用程序的开发如同魔法一般-它们将VB的事件驱动的编程方式扩展到基于浏览器的应用程序.

双击VB设计器的左边窗格中的RegisterMe事件以显示代码窗口,将如下代码添加到该事件中:

If Len(Request.Form("Email")) = 0 Then
Session("Titile") = "Please" & "Enter an Email Address!"
Session("Email") = ""
Session("Name") = ""
Else
Session("Title") = "Here is" & "your Entry!"
Session("Email") = Request.Form("Email")
Session("Name") = Reuquest.Form("Name")
End If
TplSimple.WriteTemplate

Request.Form是一种返回来自浏览器页面的数据的标准方法.它设置了一些Session变量并重新显示同样的HTML页.在If声明处设定一个断点并运行工程.输入一个email地址和名字,点击Register Me按钮.你将看到标题处被刷新了,但是文本框是空的,这是由于你在写模板的时候没有对它们输入相应的值.终止工程并改变tplSimple_ProcessTag过程(从DevX中下载Listing 1;欲知细节,请看Download Free Code框).基于Session变量给文本框赋值.运行工程看看将发生什么.

用ADO进行数据访问

最后,增加一种从数据库中存储和获取记录的方法.为简单起见,我们用Microsoft Acess 97作为我们的数据库.在你的源目录下用Acess创建一个新的数据库并命名为Register.mdb.添加一个有两个域的表,它们分别是Email和Name,并存盘.当Acess提示你创建一个唯一的索引域时选OK,把Register.mdb的一个拷贝放到你的C驱的根目录下面.

在工程中,添加一个Microsoft ActiveX Data Object库的引用,你能在Project

关键词:WebClasses使注册变得容易




Copyright © 2012-2018 盾怪网教程(http://www.dunguai.com) .All Rights Reserved 网站地图 友情链接

免责声明:本站资源均来自互联网收集 如有侵犯到您利益的地方请及时联系管理删除,敬请见谅!

QQ:1006262270   邮箱:kfyvi376850063@126.com   手机版