Intranet 和 Internet 服务器应用程序的一个常用功能,是处理浏览器提交的表格。以前,您需要编一个程序来处理表格提交的数据。有了 ASP,您可以将 VBScript 脚本直接嵌入到 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"> <P> 姓氏: <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 从 Template 目录 (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 (数据库访问)组件,使得脚本可以查询数据库。因此,无论何时要从脚本查询数据库,您都可以使用 DatabaseAccess 组件,而不必编写复杂的脚本。您还能从任何脚本或支持 Automation 的编程语言来调用这些组件(ActiveX 服务器组件就是 Automation 服务器)。在本模块中,您将使用插入到 ASP 中的 ActiveX 组件,来运行一个示范 Web 节点。 现在,您通常应该具备了编写 .asp 文件的基本知识。如果您还不具有,请首先学完本教程的“模块 1”。 要点 要保存并查看您在本模块中的工作结果,必须在 localhost Web 服务器上对 /iishelp/iis/htm/Tutorial 虚拟目录具有“写 (Write)”和“改编 Web 服务器(Script Web server)”权限,当然必须已经安装了 Active Server Pages。 第二课演示了一个动态 HTML 脚本小程序。这个脚本小程序显示了一系列交替显示的广告图像,每幅图像之间都动态过渡。若要运行这个脚本小程序并查看效果,您必须使用 Internet Explorer 4.0 或更高版本。关于 Internet Explorer的详细信息,请访问 Microsoft 的 Web 节点 http://www.microsoft.com。
|