当前位置: 首页 > 图文教程 > 网络编程 > ASP > ASP实用大全-ASP基础(4)

ASP
利用ASP输出excel文件一例
asp中使用js的encodeURIComponent
ASP动态网站制作中使用MYSQL的分析
如何编写通用的ASP防SQL注入攻击程序
ASP脚本变量、函数、过程和条件语句
ASP内建对象Application和Session
ASP基础教程:常用的 ASP ActiveX 组件
ASP程序漏洞解析及黑客入侵防范方法
ASP访问带多个参数的存储过程
用ASP和SQL语句动态的创建Access表
ASP初学者学习ASP指令
ASP开发中有用的函数(function)集合(1)
ASP开发中有用的函数(function)集合(2)
ASP开发中有用的函数(function)集合(3)
ASP网站程序自动升级实现的方法
ASP开发中的(VBScript)类基础学习
ASP代码:防止重复多次提交表单的方法
在ASP中使用类,实现模块化
ASP基础教程之学习ASP中子程序的应用
ASP技巧:ASP中三个常用语句的使用技巧

ASP实用大全-ASP基础(4)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 82 ::
收藏到网摘: n/a

ASP基础

VBScript及表单

    

  一、什么是VBScript?

  VBScript是Microsoft Visual Basic Scripting Edition的简称,你可以把它当作是Visual Basic的一个子集,但是这仅仅是从语法上来说的,正如JavaScript和JAVA的关系一样,VBScript和Visual Basic并没有什么本质上的联系。它是一种脚本语言,由VBScript脚本引擎(其实是一个动态连接库VBScript.dll)解释执行。目前它主要用在WWW网页(只有IE能正确查看包含VBScript脚本的网页,如果Netscape要正确查看,则必须安装一个插件)以及微软的WWW服务器IIS支持的ASP。
  VBScript的语法这里就不再赘述,请读者参考其它书籍。

  二、ASP的输出

  像所有讲编程的教材一样,让我们以“Hello World”开始吧。假设我们要在网页里输出“Hello World”,在HTML里是很简单的事,在ASP中怎么做呢?请看下例:
  <%Response.Write ″Hello World″%>
  把它存成一个ASP文件,执行后输出的效果如图1。
  这里我们使用了Response对象的Write方法。Response对象是ASP内置对象之一,也就是说,我们无需创建它就可以直接使用。ASP一共内置了6个对象,它们是Server、Err、Application、Session、Request、Response,关于它们的属性和方法,大家可以参考IIS或PWS的帮助文档。
  下面是另一种输出的方法:
  <%=″Hello World″%>
  这种语法是在ASP中特有的,它的意思是直接把等号“=”后面的内容输出到浏览器。
  接下来让我们看一个稍复杂的例子:
  <script language=″VBScript″ runat=″server″>
  response.write(″1″)
  </script>
  <%response.write(″2″)%>
  <%=″3″%>
  <script language=″jscript″ runat=″server″>
  response.write(″4″);
  </script>
  大家可能奇怪,怎么这回不像以前的写法了呢。前面说过,ASP的代码应该是用<%和%>括起来的呀。其实,只要在<Script>标签里加上runat=″Server″,那么,WWW服务器在遇到包含Runat=″server″的script语句时,会在服务器端对script进行解释,runat=″Server″的作用也就跟<%%>;相同了。而且 只是一种脚本环境,至于你要用什么脚本语言编程,那是你自己的选择。在ASP安装时,已经带有VBscript和JScript的脚本引擎。缺省地,使用VBScript作为脚本语言,不过你也可以用language属性指定你所用的脚本语言。如上例,你可以在一个ASP文件中使用多种脚本语言。
  现在我要考考你了,上例的输出结果是什么呢?“1234”吗?你试一试。输出的竟然是“4231”!原来,IIS处理ASP文件时,总是把文件依次交给系统上安装的所有脚本引擎,而JScript的顺序在VBScript前面。这就是“4”输出在最前面的原因。然后,另一条规则是,在$#@60;script$#@62;括起来的代码和<% %>括起来的代码间,<% %>括起来的总是先被处理。而Response.Write 和“=”则没有先后顺序,按照出现的顺序处理。这就是“23”在“1”前面的道理。

  三、取得表单提交的内容

  我们在网上冲浪的时候,经常会看到有些网页中有些输入框以及按扭。当在输入框中输入一些内容比如姓名,然后按下按扭时,我们所输入的内容就会被浏览器传到服务器上去。网页中的那些同我们交互的东西就组成了一个表单,在HTML里用标签<form>标识。表单总是被提交给一个处理程序,这个处理程序可以是CGI,也可以是ASP。用过CGI的朋友可能知道,在CGI中为了取出用户在表单中的输入信息是件很麻烦的事情,甚至有人专门写了例程来完成这件事情。然后,处理程序又将输出一些提示信息,向用户报告处理结果。从而完成一个交互过程。在ASP中,所有这些操作变得很简单了。请看下面的例子。
  假设服务器上有一个文件form.htm,它只包含一个表单(图2),源代码如下:
  <html>
  <body>
  <form method=″post″ action=″test.asp″>
  姓名:<input type=″input″ name=″xm″>
  <@60;input type=″submit″ value=″确认″>
  </form>
  </body>
  </html>
  点击“确认”键后,表单将请求test.asp处理表单值。我们的test.asp代码为:
 <%
  dim a
  a=Request.Form(″xm″)
  Response.Write a
  %>
  它将在浏览器端显示出我们输入的“张三”字样。
  这里用到了Request对象,在这个对象中保存了所有由form提交过来的数据,它们以集合的形式存在,可以通过元素名取出其中的值。然后我们的程序把它输出到浏览器。真的