日期:2009-05-18  浏览次数:21079 次

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 文件.