发送 HTML 到浏览器

当 webclass 处理一个来自浏览器的请求时,它必须发送一个响应到浏览器。一般来说,那个响应是浏览器显示给用户的一个 HTML 流。您可以用两种方式向浏览器返回 HTML:

从一个模板发送 HTML

WriteTemplate 方法是响应用户动作发送 HTML 到浏览器的一种最简单的方法。当 webclass 为包含这种方法的一个模板事件启动一个事件过程时,它将模板的 HTML 发回到浏览器。产生结果页面呈现给用户。

注意 如果要发送到浏览器的模板包含任何的替换指示符,webclass 在发送该响应之前激发 ProcessTag 事件。这是作为 WriteTemplate 方法处理的一部分自动发生的。

下面的代码显示了您如何在代码中使用这种方法的一个示例:

Private Sub OrderSearch_Respond()
   OrderSearch.WriteTemplate
End Sub

在这段代码中,一个叫做 OrderSearch 的 webitem 有一个与之相关的 HTML 模板文件。当 Visual Basic 激发这个 webitem 的 Respond 事件时,它将那个模板的内容写到浏览器,浏览器将模板的内容显示给最终用户。

注意 如果在另外一个 webitem 的一个事件中调用 WriteTemplate 方法,则 WriteTemplate 方法不激发 Respond 事件。为保持 webclass 代码的条理性,您经常要在一个 Respond 事件中调用 WriteTemplate 方法。

WriteTemplate 方法可以携带一个叫做 Template 的选项参数,该参数允许您指定一个返回到浏览器的不同模板文件。当您需要从一组具有共同事件的模板中选择时,这个参数是有用的。例如,您可能有一组新闻,文章的格式相同、包含一系列相同超链接和其他标记元素,而不管它们的故事内容如何。这些文章保存在一个 webclass 可以利用的模板文件中。您可以将适当的标记元素与您 webclass 中的事件挂接,然后在一个 WriteTemplate 调用中使用 Template 参数来指定合适的模板文件获取一个用户请求。

详细信息 关于 ProcessTag 事件和其作为一个 Respond 事件一部分的处理的详细信息,请参阅“在 Webclass 中执行文本替换”。关于使用 WriteTemplate 方法和其参数的详细信息,请参阅《语言参考》中的“WriteTemplate 方法”。

从代码中发送 HTML

如果您非常了解 HTML,也可以在您的事件过程中逐行编写 HTML,并使用 Response 对象将它发送到浏览器。这种发送 HTML 的方法比用 WriteTemplate 方法复杂,但在没有模板使用的情况下(比如您正在使用一个自定义的webitem)或在您想产生一个自定义的响应时,这种方法是非常有用的。

下面的例子显示了您如何使用 Response 对象的 Write 方法发送 HTML 到浏览器。在这个过程中,webclass 从一个数据库中获取用户信息并将它写到一个 HTML 表中:

Private Sub CustomerList_Respond()
   With Response
      ' HTML 标头信息,并开始一个表
      .Write "<HTML>"
      .Write "<BODY>"
      .Write "<TABLE BORDER CELLSPACING=1 CELLPADDING=7>"

      '填充单元格直到到达记录集文件的结束
      Do While rs.EOF = False

         '在表中的一行写用户名和地址
         .Write "<TR>"
         .Write "<TD>" & rs("lastname") & "," & rs("firstname") & "</TD>"
         .Write "<TD>" & rs("address") & "</TD>"
         .Write "<TD>" & rs("city") & "</TD>"
         .Write "<TD>" & rs("state") & "</TD>"
         .Write "<TD>" & rs("zipcode") & "</TD>"
         .Write "</TR>"

         '移动到记录集中的下一个记录,然后循环
         rs.MoveNext

      Loop

      '结束该表,然后写该页的结束标记。
      .Write "</TABLE>"
      .Write "</BODY>"
      .Write "</HTML>"
   End With
End Sub

使用 Write 方法的几点注意事项:

详细信息 关于在 webclass 代码中使用 ASP 对象的详细信息,请参阅“ IIS 应用程序的对象模型”。