首页 > 文章中心 > 正文

ASP在网页设计的作用

ASP在网页设计的作用

首先分析一下整个过程的特点和所需功能:1)整个功能实现过程的特点是:用户数据的提交过程及处理对于用户来说都是不可见的,所有操作完成后,系统给出用户输入的用户名称是否可用。2)用户点击“查看用户名是否可用”按钮时,首先要将用户输入的数据进行提交,提交后再进行用户名验证,即要遍历所有已注册用户的用户名是否与系统提交的数据一致,如果一致,则给出“用户名已被注册,请更换……”,如果不一致,则给出“恭喜你,用户名可以注册”的信息。

操作过程分析:当用户点击“查看用户名是否可用”按钮时,不可能再通过这个表单将数据直接提交,但可以间接提交。所谓间接提交就是把用户输入的数据转移到另外一个表单中的一个文本域中,最后由这个表单提交到一个处理网页进行数据校验,然后再将校验的结果返回到当前页面中。这一过程对用户来说都是不可见的,而它却经历了页面内数据的转移、数据的隐式提交、数据的校验及校验结果数据的返回。这些功能并不是某一种语言能独立完成的,它要通过HTML语言完成基本构件的设计,通过VBScript脚本语言完成页面中数据的转移及隐式表单提交数据的启动,通过ASP提供的对象功能完成数据的提交、数据的接收及校验。下面就具体实现来展示联合编程的功效及ASP在整个过程的凝聚力和数据的渗透力。

实现过程

当用户点击“查看用户名是否可用”按钮时,可以通过VBScript脚本语言的事件驱动机制,启动一个过程,通过这个过程和VBScript脚本语言的访问机制将当前表单数据放入另一个表单对应的文本域中,然后启动这个表单的数据提交命令,向处理数据的网页提交数据进行验证,并将验证结果返回到本网页。

添加命令按钮定义事件过程在原有form表单中添加一个命令按钮:<inputtype="button"name="mySubmit"value="查看用户名是否可用">注意到按钮的名称为:mySubmit。VBScript对事件的响应有三种方法,其中最简单的是以对象名和事件名用下划线连接而形成的事件过程名,当用户点击命令按钮时,系统会检测有没有这样定义的事件过程,如果有,则响应该事件过程,所以以mySubmit对象的onClick()事件来定义要响应的事件过程。

创建隐式表单用以提交数据当用户点击“查看用户名是否可用”按钮时,希望系统能提供“用户名可用”或“用户名不可用”的信息,而这必须把用户输入的信息提交给系统来处理。提交数据一般使用表单提交,所以创建一个表单ckname,并添加一个文本域login。当然所要做的一切对于用户来说都是不可见的,因此,将表单设置成隐式表单,这只要将表单中的文本域login添加一个属性。当然为了让学生看清整个操作过程,暂时还是把它设置成可见的,到完成整个操作后再添上。注意到,在名为ckname的表单中有一个名为login的文本域,其中的内容是这个表单要提交的数据。读者一定会问:(1)为什么要创建这个文本域呢?(2)由于它不可见,所以其中的数据肯定不是用户直接输入的,那么它又是从哪里来的呢?(3)如何提交这个表单数据呢?首先来解决第一、二个问题:创建这个文本域是为了存放用户在显示表单的“用户名”文本域输入的数据,这就需要将这个文本域中的数据转移到隐式表单名为login文本域中。

将显示表单文本域的数据转移到隐式表单的文本域中将显示表单“用户名”文本域的数据转移到隐式表单的文本域中,当然要由mySubmit_on-Click()事件过程来完成,其实现代码如下:document.ckname.login.value=document.memberform.login.value其中:memberform为显示表单的名称,而log-in是表单中用于输入用户名的文本域。下面解决第三个问题:如何提交这个表单数据呢?

启动隐式表单提交数据事件过程每个表单都对应一个内置的提交数据的事件过程submit(),一般情况下它是通过触发“提交”按钮启动的,即当用户点击提交按钮时,系统会自动执行该表单的这个内置的事件过程,也可以通过命令方式启动这个事件过程,命令的形式为:表单对象名.submit()因此,可以用这种形式启动隐式表单提交数据命令,其代码格式如下:document.ckname.submit()事件过程mySubmit_onClick()的功能建设完成,它是由html与客户端脚本联合完成的。

通过findmember.asp网页文件接收数据在创建的findmember.asp文件中,编写接收表单提交的数据代码。至此,事件过程的预期功能建设完成,即首先将显示表单文本域用户输入的数据移入隐式表单的文本域中,通过隐式表单向findmember.asp文件提交用户数据,并在页面中显示。

通过findmember.asp网页文件给出验证信息前面在findmember.asp文件中只接收了用户输入的数据,没有进行有效性验证。其实在真正网站中要给出用户名是否可用的验证信息,是要用到ASP中ADO技术遍历用户注册表的用户名字段。如果找到当前用户输入的用户名,则给出“该用户名已被注册,请更换一个……”,如果没有找到,则给出“恭喜!你可以注册!”的信息,但在还没有讲到ADO技术之前,我们仅用一个特定的数据实现验证功能。

屏蔽首次运行信息由于要求用户名不能为空,所以在首次运行时会给出系统提示。为了屏蔽在首次运行时这个提示信息,必须给出一个标志flage,在首次运行时,这个标志为空,在findmember.asp中控制不显示任何信息,当提交表单时给它赋一个值,由于它不空,再执行相应代码。这个flage标志可以通过直接提交数据的方式赋值,即在隐式表单中将其action属性修改为:action="findmember.asp?flage=1"从上面网页运行的效果看,显示的提示信息不在当前网页中,为了将提示信息显示在当前网页中,可以通过在当前页面中创建一个隐式框架,将findmember.asp嵌入其中。2.8创建隐式框架嵌入findmember.asp网页文件隐式框架可以将一个网页嵌入到当前网页内。

结束语

本实例虽短小,但实用性很强。网上经常看到,在初学ASP时就触及到它的实现,对学生来说无疑是一个振奋。同时本实例运用了HTML中隐式表单、隐式框架和基本页这些看似零散的构件,通过客户端脚本语言的辅助,运用了ASP中request对象的post方法提交表单数据和get方法直接提交数据,将其连接起来,大大提升了学生对联合编程的理解,使学生感受到在网页设计中存在着一股强大组织力、隐形的内在力量,它将网页的基本构件、脚本语言的基本功能及各网页有机地连接起来,使其功能更加强大,实效更加显著,这就是ASP在网页设计中的基本作用。由于ASP编程技术的核心就是数据库应用,可以说要实现任何一个完整的应用,都离不开数据库编程技术。由于ASP开发技术本身提供的开发手段非常有限,因此在进行数据库编程时就必须借助第三方技术———ADO技术,它是微软推出目前最为成熟的数据库应用技术,利用ADO组件,用户可以很方便地在ASP环境中进行数据库的各种操作。这无疑在网页编程的ASP编程环境中又加入了功能更加强大、操作更加复杂的第三者,使得网页联合编程环境更具挑战性。而这一切都出自ASP内在的组织力,它将各方力量,通过针针线线凝聚在一起,形成一个完整的网页功能体系,以可视化的手段将网页最完美的一面展示在用户面前。要达到这种编程境界,对ASP联合编程环境初期教学的启蒙意识至关重要。这个简单而又全面的实例可以大大增强学生的这种意识,为ASP后期编程技术的学习打下基础。

作者:孙八一单位:安徽理工学校

文档上传者