首页 | 免费域名 | 个人服务器 | 一流信息监控拦截系统 | 虚拟主机知识库 | ASP 空间 | ASP技术大全 | 下载中心 | 客户服务中心
  7i24 > ASP技术大全 > ASP快速入门(书生版) >
    7i24 .Com  
  动态网站设计十八般武艺——ASP篇(五)

7i24.Com不停为您服务
动态网站设计十八般武艺——ASP篇(五)
作者:天骄创作室 书生

教学纲要

在本文上两篇中,我们学习了脚本语言VBScript的变量、函数、过程和条件语句,本篇将继续给大家介绍VBScipt的循环语句,并对脚本语言在ASP中的应用加以总结。

如果有人告诉你学习ASP不需要任何编程知识,那么他错了;如果我告诉你学习ASP必须掌握一门编程语言,那么我错了。ASP动态服务器页面环境的特点就在于它是通过一种或几种脚本语言而写成的,脚本语言可以看作是编程语言的简化版,它易于学习和掌握,这给广大动态网站的设计者们提供了相当大的便利。可以这么说:脚本语言运用的得当与否直接关系到ASP应用程序的优与劣。继上一篇我们学习了脚本语言VBScript的函数和条件语句后,今天我们继续来看看VBScript中的循环语句。

  循环语句的作用就是重复执行程序代码,循环可分为三类:一类在条件变为“假”之前重复执行语句,一类在条件变为“真”之前重复执行语句,另一类按照指定的次数重复执行语句。在VBScript中可使用下列循环语句:
  Do...Loop:当(或直到)条件为“真”时循环。
  While...Wend:当条件为“真”时循环。
  For...Next:指定循环次数,使用计数器重复运行语句。
  ForEach...Next:对于集合中的每项或数组中的每个元素,重复执行一组语句。

  我们先来看看Do...Loop,它是可以多次(次数不定)运行语句块。当条件为“真”时或条件变为“真”之前,重复执行语句块。请看下例:

  <html>
  <head>
  <title>DoLoop.asp</title>
  </head>
  <body bgcolor="#FFFFFF">
  <p> 请将今年到本月为止的每个月份的销售结算记录填写在本页之上。<P>
  <%
  counter = 1
  thismonth = month(now())
  Do while counter < thismonth + 1
    response.write " " & counter & " 月 份 : "
    response.write "______________________________" & "<BR>
"
    If counter >13 then
      exit do
    end if
    counter = counter+1
  Loop
  %>
  <hr>
  </body>
  </html>


  这段ASP程序运用循环语句制作了一张销售结算记录表,将以上代码剪贴至记事簿保存为DoLoop.asp,并在浏览器中以HTTP方式进行浏览,根据当前的月份的不同,你将看到如下图的结果。

  

  我们来分析一下此段程序,我们的目的是要根据当前的月份打印一张表格,首先我们建立一个计数器“count”并将其值设为1,然后我们用函数month()和now()得到当前的月份,最后建立循环,当count的值小于当前月份的值加1的时候,即显示月份值及一条横线并将count的值加1,循环语句重复执行直到以上条件为假时退出循环。其中如果count大于13则用exitdo立即退出循环。

  DoLoop语句还可以使用以下语法:

  Do

  [statements][Exit Do]

  [statements]Loop[ { While | Until } condition]

  While...Wend语句是为那些熟悉其用法的用户提供的。但是由于While...Wend缺少灵活性,所以建议最好使用Do...Loop语句。下面我们来看看For Next语句。For...Next语句用于将语句块运行指定的次数,在循环中使用计数器变量,该变量的值随每一次循环增加或减少。

  下面的示例将过程MyProc重复执行50次。For语句指定计数器变量x及其起始值与终止值。Next语句使计数器变量每次加1。

  Sub DoMyProc50Times()
    Dim x
    For x = 1 To 50
      MyProc
    Next
  End Sub


  关键字Step用于指定计数器变量每次增加或减少的值。在下面的示例中,计数器变量j每次加2。循环结束后,total的值为2、4、6、8和10的总和。

  Sub TwosTotal()
    Dim j,total
    For j = 2 To 10 Step 2
      total=total+j
    Next
    MsgBox "总和为"&total&"。"
  End Sub

  要使计数器变量递减,可将Step设为负值。此时计数器变量的终止值必须小于起始值。在下面的示例中,计数器变量myNum每次减2。循环结束后,total的值为16、14、12、10、8、6、4和2的总和。

  Sub NewTotal()
    Dim myNum,total
    For myNum=16 To 2 Step -2
      total=total+myNum
    Next
    MsgBox "总和为"&total&"。"
  End Sub

  Exit For语句用于在计数器达到其终止值之前退出For...Next语句。因为通常只是在某些特殊情况下(例如在发生错误时)要退出循环,所以可以在If...Then...Else语句的True语句块中使用Exit For语句。如果条件为False,循环将照常运行。

  最后,让我们来看看For Each...Next语句,For Each...Next循环与For...Next循环类似。For Each...Next不是将语句运行指定的次数,而是对于数组中的每个元素或对象集合中的每一项重复一组语句。这在不知道集合中元素的数目时非常有用。它的语法如下:

  For Each element In group
  [statements]
  [Exit For]
  [statements]Next[element]

  如果group中有至少一个元素,就会进入For Each块执行。一旦进入循环,便首先对group中第一个元素执行循环中的所有语句。只要group中还有其他的元素,就会对每个元素执行循环中的语句。当group中没有其他元素时退出循环,然后从Next语句之后的语句继续执行。

  至此,我们已经完成了对脚本语言VBScript所有的基本知识的学习,但是仅凭阅读现有的这几篇文章你是无法熟练运用VBScript的,你必须通过不断的实践来提高自己的等级。当然,如果你熟悉C,你也可以选择JavaScript来作为ASP应用程序的脚本语言。不知大家有没有发现ASP程序的调试比较困难,因为没有什么现成的工具,在这里我向大家简要介绍一下Microsoft Script Debugger,我们可以运用它来进行一定量的程序调试工作。IIS 4.0所包括的Microsoft Script Debugger(Script侦错工具),提供脚本程序的侦错功能。您可以使用Microsoft Script侦错工具来进行对使用VBScript、JScript编写的脚本程序,以及Java applets、beans和ActiveX组件的侦错工作。

  有的脚本程序在用户端浏览器执行,有的脚本程序(<%…%>中的部份)在服务器端执行。Microsoft Script Debugger,可以侦错用户端执行的脚本程序以及服务器端执行脚本程序。

  在用户端浏览器执行的脚本程序是在用户端的浏览器当中执行,包括在标准HTML代码中的VBScript、Jscript(这里应该是Javascript,Jscript是服务器端脚本 --- Ailong注)部份。在浏览器载入此HTML代码或譬如按下按钮触发事件时,将执行此包括脚本程序的HTML代码。用户端浏览器执行的脚本程序,主要用于对HTML表单输入的基本检查等功能。

  在服务器端执行的脚本程序是在IIS服务器端执行,包括在.asp程序中。先在IIS服务器上执行,执行结果产生标准的HTML代码,再传送到用户端浏览器。服务器端执行的脚本程序,主要用于多个网页之间的连结,HTML表单输入的处理,以及存取服务器上数据库的资料等。

  Microsoft Script Debugger提供以下的除错功能:

  1、设定中断点

  2、逐步追踪脚本程序。

  3、设定书签。

  4、检视呼叫堆叠。

  5、检视和更改变数值。

  6、执行脚本指令。

  从下一篇开始,我们将开始学习ASP的内建对象,敬请关注。


  2002年1月3日  阅读 4854 次  发送此页给朋友  来源:    版权争议  删除

相关文章:   近期热点:

上一篇: 动态网站设计十八般武艺——ASP篇(四)
下一篇: 动态网站设计十八般武艺——ASP篇(六)
返回上一层...
搜索:

(C)2004-2022 7i24.Com 保留所有权利