7. webclass 中的事件响应.
$1. .webclass中预定义的事件有3个 : response , processtag , userevent
.response 事件响应用户端请求.
.processtag 事件是作为 writetemplate 方法处理的一部分自动发生的.不能单独被触发或用来处理响应.
.userevent 事件: 一个 userevent 过程处理 webitem 的所有用户事件.userevent 事件是由urlfor 方法在运行时产生的.所以只有使用了urlfor 方法动态产生的超连接才会触发userevent 事件.
$2. webclass_start() 事件类似于vb中的sub main().
所以可以指定一个project 开始的webclass. 也可在model 模块中用sub main() 来启动.
$3. 发送html 到浏览器: 将页面反馈回浏览器有两种方法:
.对html模板则使用 “writetemplate” 方法.此方法激活”processtag”事件,从而对模板中相应的内容(用wc@符号标记的部分)进行替换.
.在customwebitem 事件中动态生成反馈页面.
如: with response
.write “<html”>
.write”<head>”
.write”</head>”
.write”<body>”
.write”<p>hello! universe!</p>”
.write”</body></html>”
end with
$4. 从html 的<form>中获取信息:
使用request 对象在一个 html <form>中获取用户输入的信息。但必须将 <form action…> 标记属性和webclass中的一个事件连接,提交一个form 就可以激发 webclass 中的这个事件。因此,就可以使用这个事件搜集和操作信息。
$5. 动态替换html 模板文件中的内容.
使用$3中的writetemplate 方法.
$6. 自定义webitem 事件.
两种方法和自定义webitem 事件关联起来:
1:用action=webclass.asp?wci=webitem&wce=’自定义事件’ 的方法.
2.用urlfor (webitem, 自定义事件)方法.
$7. 其他使用方法(如: cookie,session对象等) 和 asp 应用程序中相同
8. webclass 其他属性的作用和使用方法.
$1. urldata 属性
urldata 属性在浏览器和 web 服务器之间传送状态信息。urldata 属性将信息追加到 webclass 发送到浏览器的特定 url 中。当浏览器使用这些 url 之一提交另一个请求时,这些信息可以被传回到 web 服务器以做进一步的处理。通过这种方式,您可以在两端都没有存储信息的情况下发送和获取状态信息。
urldata 属性提供了几个优点:
它可以用于不支持 cookie 的浏览器。
它将状态信息存储在页面本身。因此,如果用户使用后退按钮并且重新提交该页面,webclass 收到的和该页面原先发送的状态数据相同。
urldata 有两个缺点:
第一, urldata 在发送数据的数量上是受限制的。大小的限制随着浏览器的不同而变化,但是大多数浏览器能处理 url 中大约2k 的数据。在应用程序中应当测试打算使用的 url 长度。
第二, 如果使用一个具有 get 方法的form ,urldata是一种不可行的发送信息方法。在这种情况下,可使用 post 方法,或使用另外的手段来传送状态。(如:cookie 或使用隐藏的字段来传送少量信息.)
urldata 属性可以在两种情况下利用 webclass 的响应添加信息到 url,追加指定的信息到包含一个称为 wcu 的参数中。(….. webclass.asp?wci=webitem&wce=webevent&wcu=urldata)
当 webclass 调用一个 writetemplate 方法时。
如: ……………
urldata=”userno :1234”
webitem.writetemplate
………………
当 webclass 调用一个 urlfor 方法时。 (方法同上).
$2. webclass 中的statemanagement 属性.
当webclass 的 statemanagement 的属性被设置为 wcnostate 时,不能在服务器的 webclass 对象中保存信息.即不能用urldata来保存状态信息.
$3. nameinurl 属性.
指定为每一个webclass 定位的 .asp 文件.
