Intranet 和 Internet 服 务 器 应 用 程 序 的 一 个 常 用 功 能 , 是 处 理 浏 览 器 提 交 的 表 格 。 以 前 , 您 需 要 编 一 个 程 序 来 处 理 表 格 提 交 的 数 据 。 有 了 ASP , 您 可 以 将 VBS cript 脚 本 直 接 嵌 入 到 HTML 文 件 中 来 处 理 表 格 。 ASP 服 务 器 将 处 理 脚 本 命 令 并 将 结 果 返 回 给 浏 览 器 。
在 本 课 中 , 您 将 创 建 一 个 ASP 主 页 , 用 来 处 理 用 户 通 过 HTML 表 格 提 交 的 数 据 。
若 要 查 看 .asp 文 件 是 如 何 工 作 的 , 请 首 先 填 写 下 面 的 表 格 。 使 用 Tab 键 可 以 在 表 格 中 移 动 。 然 后 单 击 提 交 按 钮 , 将 您 的 数 据 发 送 到 Web 服 务 器 并 交 给 ASP 处 理 。
---------------------------------------------------
表 格 样 本
请 提 供 下 列 信 息 , 然 后 单 击 ?提 交 ?:
名 字 :
姓 氏 :
称 呼 : 先 生 女 士
创 建 表 格
我 们 已 经 创 建 了 一 个 表 格 来 询 问 用 户 信 息 , 您 可 以 在 Tutorial 目 录 (/iishelp
/iis/htm/tutorial) 下 的 Form.htm 文 件 中 找 到 它 :
〈 HTML 〉
〈 HEAD 〉 〈 TITLE 〉 Order 〈 /TITLE 〉 〈 /HEAD 〉
〈 BODY 〉
〈 H2 〉 示 范 订 购 表 格 〈 /H2 〉
<〈 P 〉
请 提 供 以 下 信 息 , 然 后 单 击 ?提 交 ?:
〈 FORM METHOD="POST" ACTION="response.asp" 〉
姓 氏 : 〈 INPUT NAME="lname" SIZE="48" 〉
〈 P 〉
名 称 : 〈 INPUT NAME="fname" SIZE="48" 〉
〈 P 〉
称 谓 : 〈 INPUT NAME="title" TYPE=RADIO VALUE="mr" 〉 先 生
〈 INPUT NAME="title" TYPE=RADIO VALUE="ms" 〉 女 士
〈 P 〉 〈 INPUT TYPE=SUBMIT VALUE=" 提 交 " 〉
〈 INPUT TYPE=RESET VALUE=" 重 置 " 〉
〈 /FORM 〉
〈 /BODY 〉
〈 /HTML 〉
象 所 有 HTML 表 格 一 样 , 这 个 表 格 将 数 据 按 变 量 和 数 值 成 对 发 送 到 Web 服 务 器 。
例 如 , 用 户 在 ?名 ?文 字 框 中 键 入 的 内 容 将 赋 值 给 变 量 ?fname ?。 ASP 提 供 内 建 的 对 象 , 您 能 够 使 用 这 些 对 象 来 访 问 表 格 提 供 的 变 量 的 名 称 和 数 值 。
创 建 ASP 响 应 页 现 在 要 学 习 的 内 容 是 如 何 处 理 Web 服 务 器 从 HTML 表 格 收 到 的 数 据 。 在 本 课 中 , 我 们 已 经 创 建 了 一 个 .asp 文 件 Response.asp , 它 将 处 理 并 显 示 从 Form.asp 收 到 的 数 据 , 不 过 需 要 您 添 加 一 些 额 外 的 脚 本 命 令 才 行 。
使 用 您 的 文 本 编 辑 器 , 打 开 localhost Web 服 务 器 Tutorial 目 录 (C:\WINNT\
Help\iis\htm\tutorial) 下 的 Response.asp 文 件 。
查 找 文 字 ?Define Scripting Language ?, 将 以 下 脚 本 复 制 并 粘 贴 到 这 一 行 下 面
:
〈 %@ LANGUAGE = "VBScript" % 〉
请 记 住 将 这 个 标 记 作 为 第 一 行 脚 本 添 加 到 您 的 .asp 文 件 中 , 这 样 Web 服 务 器 才 <知 道 您 的 脚 本 是 用 哪 种 语 言 编 写 的 。
现 在 查 找 文 字 ?Tutorial Lesson ?, 将 以 下 脚 本 复 制 并 粘 贴 到 找 到 的 行 后 面 :
〈 %
Title = Request.Form("title")
如 果 在 此 以 前 , 另 一 个 用 户 已 经 学 完 了 教 程 的 这 一 部 分 , 那 么 此 脚 本 命 令 就 已 经 在 ?Tutorial Lesson ?命 令 行 下 了 。 用 复 制 的 脚 本 覆 盖 已 有 的 脚 本 , 或 者 将 未 使 用 过 的 Response.asp 从 Template 目 录 复 制 到 Tutorial 目 录 中 。
您 的 表 格 向 ASP 提 交 了 3 个 不 同 的 变 量 或 值 :
fname
lname
title
ASP 将 HTML 表 格 提 供 的 信 息 存 储 在 Request 对 象 的 Forms 集 合 中 。 若 要 进 一 步 学 习 表 格 和 对 象 的 知 识 , 请 参 阅 使 用 HTML 表 格 和 内 建 的 ASP 对 象 。
若 要 从 Request 对 象 获 取 信 息 , 您 只 需 键 入 : Request. 集 合 名 称 ( 或 属 性 名 称 ) 。 所 以 , Request.Form ("title") 将 得 到 mr 或 ms , 依 用 户 提 交 的 值 而 定 。
复 制 以 下 脚 本 , 并 粘 贴 到 第 2 步 中 插 入 的 行 之 后 :
LastName = Request.Form("lname")
If Title = "mr" Then
% 〉
〈 %= LastName % 〉 先 生
〈 % ElseIf Title = "ms" Then % 〉
〈 %= LastName % 〉 女 士
如 果 在 此 以 前 , 另 一 个 用 户 已 经 学 完 了 教 程 的 这 一 部 分 , 那 么 这 些 脚 本 就 已 经 存 在 了 。 用 复 制 的 脚 本 覆 盖 已 有 的 脚 本 , 或 者 将 未 使 用 过 的 Response.asp 从 Tem plate 目 录 (C:\WINNT\Help\iis\htm\tutorial\template) 复 制 到 Tutorial 目 录 中 。
VBScript 语 句 If...Then..Else 语 句 将 依 据 ?称 谓 ?的 值 执 行 3 种 不 同 的 操 作 。 如 果 称 谓 是 mr , 将 称 用 户 为 ?先 生 ?。 如 果 称 谓 是 ms , 将 称 用 户 为 ?女 士 ?。 否 则 , 将 称 用 户 的 全 名 。 使 用 表 达 式 〈 %= 变 量 名 % 〉 可 以 显 示 变 量 的 值 。
如 果 需 要 当 用 户 没 有 选 择 称 谓 时 显 示 全 名 , 请 将 以 下 脚 本 复 制 并 粘 贴 到 在 第 3 步
插 入 的 行 之 后 :
〈 % Else % 〉
〈 %= LastName & Request.Form("fname") % 〉
〈 % End If % 〉
再 说 一 遍 , 如 果 在 此 以 前 , 另 一 个 用 户 已 经 学 完 了 教 程 的 这 一 部 分 , 则 这 些 脚 本 就 已 经 存 在 了 。 请 用 复 制 的 脚 本 覆 盖 已 有 的 脚 本 , 或 者 将 未 使 用 过 的 Response. asp 从 Template 目 录 ( C:\WINNT\Help\iis\htm\tutorial\template) 复 制 到 Tutorial 目 录 中 。
其 中 的 ?并 ?号 (&) 将 变 量 的 值 合 并 到 一 个 字 符 串 中 。 最 后 的 End If 语 句 表 明 条 件 语 句 结 束 了 。
保 存 文 件 Response.asp 并 退 出 文 本 编 辑 器 。 注 意 文 件 后 缀 .asp 不 要 被 文 本 编 辑 器 替 换 。
若 要 验 证 您 创 建 的 表 格 是 否 正 常 运 行 , 请 将 您 的 浏 览 器 导 向 http://localhost/ iishelp/iis/htm/tutorial/form.htm 。 ( 此 后 若 要 返 回 本 教 程 , 只 要 在 浏 览 器 中 单 击 ?上 一 页 ?或 ?Back ?按 钮 即 可 。 )
祝 贺 您 ! 您 的 第 一 个 能 将 结 果 发 送 到 .asp 文 件 的 HTML 表 格 已 经 运 行 了 。 若 要 学 习 ActiveX 服 务 器 组 件 , 请 转 到 模 块 2 : 使 用 ActiveX 组 件 。
----------
模 块 2 : 使 用 ActiveX 组 件
请 选 择 本 课 的 脚 本 语 言 。
ActiveX 服 务 器 组 件 增 强 了 脚 本 语 言 的 功 能 , 它 提 供 简 洁 、 可 重 用 和 安 全 的 方 法 来 访 问 信 息 。 例 如 , ASP 的 Database Access ( 数 据 库 访 问 ) 组 件 , 使 得 脚 本 可 以 查 询 数 据 库 。 因 此 , 无 论 何 时 要 从 脚 本 查 询 数 据 库 , 您 都 可 以 使 用 Database Access 组 件 , 而 不 必 编 写 复 杂 的 脚 本 。 您 还 能 从 任 何 脚 本 或 支 持 Automation 的 编 程 语 言 来 调 用 这 些 组 件 ( ActiveX 服 务 器 组 件 就 是 Automation 服 务 器 ) 。 在 本 模 块 中 , 您 将 使 用 插 入 到 ASP 中 的 ActiveX 组 件 , 来 运 行 一 个 示 范 Web 节 点 。
现 在 , 您 通 常 应 该 具 备 了 编 写 .asp 文 件 的 基 本 知 识 。 如 果 您 还 不 具 有 , 请 首 先 学 完 本 教 程 的 ?模 块 1 ?。
要 点
要 保 存 并 查 看 您 在 本 模 块 中 的 工 作 结 果 , 必 须 在 localhost Web 服 务 器 上 对 /i ishelp/iis/htm/Tutorial 虚 拟 目 录 具 有 ?写 (Write) ?和 ?改 编 Web 服 务 器 (Script Web server) ?权 限 , 当 然 必 须 已 经 安 装 了 Active Server Pages 。
第 二 课 演 示 了 一 个 动 态 HTML 脚 本 小 程 序 。 这 个 脚 本 小 程 序 显 示 了 一 系 列 交 替 显 示 的 广 告 图 像 , 每 幅 图 像 之 间 都 动 态 过 渡 。 若 要 运 行 这 个 脚 本 小 程 序 并 查 看 效 果 , 您 必 须 使 用 Internet Explorer 4.0 或 更 高 版 本 。 关 于 Internet Explorer 的 详 细 信 息 , 请 访 问 Microsoft 的 Web 节 点 http://www.microsoft.com 。