请登录[¤ 阳光论坛 ¤]参与讨论


阳光宝宝
90

 □ 主题: ASP基础
 □ 内容: 1楼

      学习 ASP 最好的方法莫过于亲自动手编写,为了在最短的时间内使各位掌握 ASP 的程序设计技巧,本文将采取实例分析法,通过一系列的实例让各位在实践中学习 ASP 。建立一个 ASP 页面,你所需的只是打开一个文本编辑器,如: Notepad ,然后跟我开始动手编写第一个 ASP 程序。下面我们将建立一个自动监测浏览时间并根据不同时段动态显示不同页面内容的 ASP 程序,请将以下代码剪贴到你的文本编辑器中 ,并存为 test1.asp : 
       
      < html> 
      < body> 
      < FONT COLOR="Green"> 
      < % If Time < #12:00:00# And Time >= #00:00:00# Then %> 
      早上好,今天天气不赖啊 ! 
      < % ElseIf Time < #19:00:00# And Time >= #12:00:00# Then %> 
      下午好 ! 
      < % Else %> 
      哈喽 ! 今晚你有没有去 IRC 聊天 ! 
      < % End If %> 
      < /body> 
      < /html> 
       
        将 test1.asp 保存在 WEB 服务器的虚拟目录 ( 如: aspsamp/) 下,并在浏览器中用 HTTP 的方式进行浏览,如: http://yourcomputername/aspsamp/test1.asp ,你将会新奇地发现,你的页面真的活起来了。虽然,这只是一个非常简单的实例,而且这一功能完全可以通过 JavaScript 完成,但是不难发现使用 ASP 要比 JavaScript 简洁、迅速得多,而且运用此法,你完全可以轻而易举地令你的网页在不同的时段展示不同的风格。此例中的“ Time ”实际上是一个 VBScript 内置的显示系统当前时间的函数,由于系统默认的脚本语言是 VBScript ,因此当你在 ASP 命令中调用该函数时,脚本引擎会自动将其转换成当前的系统时间。接下来我们将给 test1.asp 添加一点色彩,在 < body> 标识中添加“ bgcolor="< % =bgc %> ”即变为 < body bgcolor="< % =bgc %>"> ,并在 < body> 标记前添加如下语句:  
      < % If Time < #12:00:00# And Time >= #00:00:00# Then 
      bgc="silver" 
      ElseIf Time < #19:00:00# And Time >= #12:00:00# Then 
      bgc="navy" 
      Else 
      bgc="red" 
      End If 
      %>  
      
——
      
争分夺秒背单词 → windy  a.多风的,刮风的
 □ 发帖时间:2008-1-24|21:29:41 |回复|返回|



阳光宝宝
90

 □ 主题: 回应:ASP基础
 □ 内容: 2楼

      如此一来,当用户在不同的时段访问你的页面时,他们将会看到不同的页面背景色。我们可以做的事情还有很多,譬如你想知道在凌晨至十二点之间浏览你页面的客户的姓名,并向他或她问好,那么下面的这段程序将能助你达成心愿。首先你需要在页面中设置表单,将以下HTML代码剪贴到“ < % If Time < #12:00:00# And Time >= #00:00:00# Then %> ”之后:  
       
      欢迎光临我的主页,请填写以下信息 : < FORM METHOD="POST" ACTION="test1.asp"> 
      < P> 
      First Name: < INPUT NAME="fname" SIZE="48"> 
      < P> 
      Last Name: < INPUT NAME="lname" SIZE="48"> 
      < P> 
      Title: < INPUT NAME="title" TYPE=RADIO VALUE="mr">Mr. 
      < INPUT NAME="title" TYPE=RADIO VALUE="ms">Ms. 
      < P>< INPUT TYPE=SUBMIT>< INPUT TYPE=RESET> 
      < /FORM> 
       
       然后在以上 HTML 代码后面添加如下 ASP 命令: < % 
      title=request.form("title") 
      if title="mr" then 
      %> 
      欢迎您 Mr.< % =request.form("fname") %> 。  
      < % elseif title="ms" then %> 
      欢迎您 Ms.< % =request.form("fname") %> 。  
      < % else %> 
      < B>< font color=blue> 欢迎您 < % =request.form("fname")&" "&request.form("lname") %> 。 < /font>< /B> 
      < % end if %> 
      
——
      
争分夺秒背单词 → remainder  n.剩余(物);余数
 □ 发帖时间:2008-1-24|21:29:56 |回复|返回|



阳光宝宝
90

 □ 主题: 回应:ASP基础
 □ 内容: 3楼

      保存文件 test1.asp ,并在浏览器中以 HTTP 方式进行浏览,如果此时的系统时间在凌晨 0:00:00 和中午 12:00:00 之间的话,浏览器将显示如下画面:  这其实是一个在 Internet 和Intranet 上常见的功能,即当用户在浏览器端填写完表单后,通过调用一个通用网关程序将用户数据传送到服务器,由服务器进行处理后再将结果返还给客户浏览器。过去为了实现这样的功能必须编写一个独立于 HTML 之外的 CGI 程序,并通过 HTML 进行调用,撇开 CGI 编写复杂等缺点不谈, CGI 的执行效率也是一个大问题,每一个表单 (form) 均须执行一个可执行文档,当多人同时上线使用时,多个文档同时执行,将大大降低 WEB 服务器的执行速度,如今 ASP 提供了与 HTML 完全相融的编程环境,显然要比使用 CGI 便捷得多。  
       
        在本期的最后让我们再来看看 ASP 的循环功能,譬如你希望当客户在晚间 7:00 至凌晨 0:00:00 浏览你的页面时,在页面中央显示 6 个笑脸 表示问候,那么你只需要将以下命令剪贴到“ Good Evening! ”后面即可: < % for i=1 to 6 %> 
      < p>< center>< img src="smile.gif" width="32" height="32" alt=" 晚上好 ">< /p> 
      < % next %>  
       
       这是一个最最基本的循环语句,它将一个笑脸图片重复调用六次并显示在页面上。当然此例的效果完全可以用 HTML 做到,但是不难发现使用 ASP 大大缩短了代码的重复编写,使得程序具有良好的可阅读性。另外,当你制作一个诸如根据用户投票来给所评测的对象评定星级的评测站点时,使用此法,你就完全不需要为每一个星级制作一幅图片。如果一个对象被评为 4星级,那只需将一颗星的图片循环显示 4次,以此类推即可。当然,当工作量较小的时候你不会感觉到 ASP 的好处,然而一旦数据量巨增,你将会深刻的体会到 ASP 动态网站给你带来的前所未有的轻、爽感受 ! 
       
      由于WEB浏览器标准的不一致从而使得如何能够让自己制作的网站去适应各种不同的浏览器成为了广大网站设计者最为头疼的事,在如今的形势之下,我们不肯也不可能去抛弃Netscape或IE中的任何一种客户群,但我们有时候又不得不去考虑客户端浏览器的实际浏览效果,过去我们常用JavaScript编写一段程序来辨别客户端使用的不同的浏览器,那么今天就让我们来看看如何使用ASP更为便捷且精确地达到这一目的。将以下代码,剪贴到你的Notebook中,并保存为browser.asp。 
      
——
      
争分夺秒背单词 → emotion  n.情感,感情;激动
 □ 发帖时间:2008-1-24|21:30:12 |回复|返回|



阳光宝宝
90

 □ 主题: 回应:ASP基础
 □ 内容: 4楼

      < %@ LANGUAGE = VBScript %> 
        < HTML> 
        < HEAD> 
           < TITLE>用ASP提供的浏览器性能组件来辨别客户浏览器< /TITLE> 
         < /HEAD> 
         < BODY BGCOLOR="White" topmargin="10" leftmargin="10"> 
          < font size="4" face="Arial, Helvetica"> 
          < b>用ASP提供的浏览器性能组件来辨< br>别客户浏览器< /b>< /font>< br> 
          < hr size="1" color="#000000"> 
           < !-- 定义并创建浏览器性能对象 --> 
           < % 
            Dim bc 
            Set bc = Server.CreateObject("MSWC.BrowserType") 
           %> 
           < !-- 在表格中描述客户浏览器的信息 --> 
           < Table border=1> 
             < tr> 
             < td>Browser Name< /td> 
             < td> < %=bc.Browser %> < /Td> 
             < tr> 
             < td>Browser Version< /td> 
             < td> < %=bc.Version %> < /Td> 
             < tr> 
             < td>Major Version< /td> 
             < td> < %=bc.Majorver %> < /Td> 
             < tr> 
             < td>Minor Version< /td> 
             < td> < %=bc.Minorver %> < /Td> 
             < tr> 
             < td>Frame Support< /td> 
             < td> < %=bc.Frames %> < /Td> 
             < tr> 
             < td>Table Support< /td> 
             < td> < %=bc.Tables %> < /Td> 
             < tr> 
             < td>Cookie Support< /td> 
             < td> < %=bc.Cookies %> < /Td> 
             < tr> 
             < td>Background Sound Support< /td> 
             < td> < %=bc.BackgroundSounds %> < /Td> 
             < tr> 
             < td>VBScript Support< /td> 
             < td> < %=bc.VBScript %> < /Td> 
             < tr> 
             < td>JavaScript Support< /td> 
             < td> < %=bc.JavaScript %> < /Td> 
           < /table> 
         < /BODY> 
      < /HTML> 
      
——
      
争分夺秒背单词 → thickness  n.厚(度);密(度)
 □ 发帖时间:2008-1-24|21:30:29 |回复|返回|



阳光宝宝
90

 □ 主题: 回应:ASP基础
 □ 内容: 5楼

      用 http 方式浏览该文件,根据使用的浏览器的不同,你会看到类似下图 (Asp2b.gif) 的页面。在本例中我们用到了一个 ASP 提供的 ActiveX 组件 --"Browser Capabilities" 。 ActiveX 组件作为基于 Web 的应用程序部分在 Web 服务器上运行,组件提供了应用程序的主要功能 ( 如访问、修改数据库等 ) ,这样 WEB 设计者们就不必创建或重新创建执行这些任务的代码,从而提高了工作的效率,有关 ActiveX 组件将在今后详细讨论。为了使用 ASP 辨别客户浏览器,在这里我们利用 "Browser Capabilities" 组件创建了一个 Browser Type 对象,该对象提供带有客户端网络浏览器功能说明的用户脚本,当浏览器连接到网络服务器上时,它会自动发送一个 UserAgentHTTP 标题,该标题是一个声明浏览器及其版本的 ASCII 字符串。此 Browser Type 对象将该标题和在 Browscap.ini 文件中的项进行比较 (Win98 、 IIS3 、 IIS4 的用户分别可以在以下目录中 "win98\system\inersrv" 、 "\winnt\system32\inetsrv\asp\cmpnts" 、 "\winnt\system32\inetsrv" 找到该文件 ) 。如果找到匹配的项,则该 Browser Type 对象将认为浏览器列表属性与 UserAgent 标题匹配。若该对象在 browscap.ini 文件中找不到与该标题匹配的项,那么将使用默认的浏览器属性。若该对象既未找到匹配项且 browscap.ini 文件中也未指定默认的浏览器设置,则它将每个属性都设为字符串 "UNKNOWN" 。我们可以通过更新 browscap.ini 文件将属性或新的浏览器定义添加到该组件中,从而扩大 ASP 识别的浏览器范围和精确度。下面列出了 browscap.ini 中的一部分内容 ( 不包括注释部分 ) : 
       
      [IE 4.0] ;;HTTPUserAgentHeader 
      browser=IE ;;指定该浏览器的名称。 
      Version=4.0 ;;指定该浏览器的版本号。 
      majorver=4 ;;指定主版本号 
      minorver=0 ;;指定副版本号 
      frames=TRUE ;;指定该浏览器是否支持框架。 
      tables=TRUE ;;指定该浏览器是否支持表格。 
      cookies=TRUE ;;指定该浏览器是否支持cookies。 
      backgroundsounds=TRUE ;;指定该浏览器是否支持背景音乐。 
      vbscript=TRUE ;;指定该浏览器是否支持VBScript。 
      javascript=TRUE ;;指定该浏览器是否支持JScript。 
      javaapplets=TRUE ;;指定该浏览器是否 支持 Java程序。 
      ActiveXControls=TRUE ;;指定该浏览器是否支持 ActiveX 控件。 
      Win16=False ;; 指定该浏览器是否支持Win16 
      beta=False ;;指定该浏览器是否测试版。 
      cdf=True ;;指定该浏览器是否 支持用于 Web 预测的 Channel Definition Format。 
       
      ;;ie 4.01 
      [Mozilla/4.0 (compatible; MSIE 4.01*; Windows 95)] 
      parent=IE 4.0 ;;父标签允许第二个浏览器继承第一个浏览器的定义 
      version=4.01 
      minorver=01 
      platform=Win98 
       
      ;;Default Browser ;; 
       
      
——
      
争分夺秒背单词 → Italian  a.意大利的n.意大利人
 □ 发帖时间:2008-1-24|21:30:49 |回复|返回|



阳光宝宝
90

 □ 主题: 回应:ASP基础
 □ 内容: 6楼

      指 
       
      定默认的浏览器的设置 
      [Default Browser Capability Settings] 
      browser=Default 
      frames=FALSE 
      tables=TRUE 
      cookies=FALSE 
      backgroundsounds=FALSE 
      vbscript=FALSE 
      javascript=FALSE 
       
        在上面的例子中,父标签允许第二个浏览器继承第一个浏览器的定义,以便 Microsoft Internet Explorer4.01 定义得以继承 Microsoft Internet Explorer4.0 定义全部的属性 ( 例如, frames=TRUE 、 tables=TRUE 以及 cookies=TRUE) 。并通过添加 platform=Win98 行来指定平台,用 version=4.01 重写版本信息。 
       
        在先前的 browser.asp 中我们仅仅是将客户浏览器的属性一一罗列了出来,下面让我们添加一些动态的效果。将以下代码剪贴到文件 browser.asp 中( 编辑注 :为显示方便,所有“ < ”符号后都多加了个空格,实际使用时请注意去掉。 ):  
      < % if (bc.frames = TRUE) then %> 
      你的浏览器支持框架!< br> 
      < % else %> 
      难道现在你还在使用不支持框架的浏览器???< br> 
      < % end if %> 
      < % if (bc.tables = TRUE) then %> 
      你的浏览器支持表格。< br> 
      < % else %> 
      难道现在你还在使用不支持表格 的浏览器 ???< br> 
      < % end if %> 
      < % if (bc.BackgroundSounds = TRUE) then %> 
      有没有听到美妙的 音乐???< br> 
      < % else %> 
      可惜 , 您的浏览器不支持背 景音乐。< br> 
      < % end if %> 
      < % if (bc.vbscript = TRUE) then %> 
      您的浏览器支持Vbscript。< br> 
      < % else %> 
      您的浏览器不支持Vbscript。< br> 
      < % end if %> 
      < % if (bc.javascript = TRUE) then %> 
      您的浏览器支持 Javascript。< br> 
      < % else %> 
      您的浏览器不支持 Javascript。< br> 
      < % end if %> 
       
        在你的浏览器中刷新 browser.asp ,程序将自动辨别浏览器的属性并动态显示不同的信息。不难发现在整个 browser.asp 文件中几乎没有用到任何复杂的编程,就轻而易举的达到了动态鉴别客户浏览器并动态产生响应事件的效果。事实上,这个程序的关键就在于前文提到的 ActiveX 组件 --"Browser Capabilities" ,它的作用类似于一个 Function ,只需简单地在程序中调用该组件即能达到你所希望的效果。 
       
      在开始学习脚本语言之前,你应该理解一些简单的概念 -- 变量、进程。所谓变量是计算机内存中已命名的存储位置,其中包含了数字或字符串等数据,它使用户便于理解脚本操作的名称,为用户提供了一种存储、检索和操作数据的途径。程序是由一个或多个进程组成的,在 VBScript 中,进程就是“指令块”,通常意义上的进程,如 Sub,只是为了简单的数据处理。  
       
        在 VBScript 中,严格的来讲变量是不用声明的,  
       
        如:< % Mystring="This is my string" % >  
      
——
      
争分夺秒背单词 → cable  n.海底电报
 □ 发帖时间:2008-1-24|21:31:08 |回复|返回|



阳光宝宝
90

 □ 主题: 回应:ASP基础
 □ 内容: 7楼

      然而,即使在使用变量前不需要去声明变量,也应养成在编程时声明变量的良好习惯,因为这样有助于防止错误发生。声明一个变量意味着告诉脚本引擎,有一个特定名称的变量,这样就可以在脚本中引用该变量。在 VBScript 中声明一个变量可以使用“Dim”语句,如下:  
         < script language="VBScript" >  
         < !--  
         Option Explicit '' 要求在脚本中声明所有的变量  
         Dim Mystring  
         Mystring="This is my string"  
         -- >  
         < /script> 
       
        变量的作用域即生命期,决定哪些脚本命令可访问变量。在过程内部声明的变量具有局部作用域。每执行一次过程,变量就被创建然后消亡。而过程外部的任何命令都不能访问它。在过程外部声明的变量具有全局作用域,其值能被 ASP 页上的任何脚本命令访问和修改。声明变量时,局部变量和全局变量可以有相同的名称。而改变其中一个的值并不会改变另一个的值。如果没有声明变量,则可能不小心会改变一个全局变量的值。例如,以下脚本命令返回值 1,虽然有两个名为 Y 变量:  
         < %  
         Dim YY = 1Call SetLocalVariableResponse.Write Y  
         Sub SetLocalVariable  
         Dim Y  
         Y = 2End Sub % > 
       
        由于变量没有显式声明,以下的脚本命令将返回 2。当过程调用将 Y 设置为 2 时,脚本引擎认为该过程是要修改全局变量:  
         <%  
         Y = 1Call SetLocalVariableResponse.Write Y  
         Sub SetLocalVariable  
         Y = 2  
         End Sub% > 
      
——
      
争分夺秒背单词 → foresee  vt.预见,预知,看穿
 □ 发帖时间:2008-1-24|21:31:22 |回复|返回|



阳光宝宝
90

 □ 主题: 回应:ASP基础
 □ 内容: 8楼

      然而,全局变量仅在单个 ASP 页中可用,要使它在单个 ASP 页之外可用,就必须为变量赋予会话或应用程序作用域。会话作用域变量对一个用户所请求的 ASP 应用程序中的所有页都是可用的。应用程序作用域变量也如此。对单个用户来说,会话变量是存储信息的最佳途径,例如,用户首选项、用户名或用户的标识。对于一个特殊应用程序的所有用户,应用程序作用域是存储信息的最佳途径,例如,应用程序特定的问候语或应用程序所需的初始值。ASP 提供两个内建对象来让您存储变量:Session 对象和 Application 对象,这将在今后的 ASP 内建对象中着重讨论。 
       
        让我们再来看看常量的定义,常量是用来代替一个数或字符串的名称,它在整个脚本中保持不变。您可以使用 Const 语句在 VBScript 中创建用户自定义常数。使用 Const 语句可以创建名称具有一定含义的字符串型或数值型常数,并给它们赋原义值。例如:。  
       
        如:< % Const mystring=" 这是一个常量 " % >  
       
         < % Const myage=100 % >  
       
        
       
       请注意字符串文字包含在两个引号  
       
      (" ") 之间。这是区分字符串型常数和数值型常数的最明显的方法。日期文字和时间文字包含在两个井号 (#) 之间。例如:  
       
         < % Const CutoffDate = #6-1-97# % >  
       
        
       
       在理解了常量和变量之后,我们来看看什么是过程。它是一组能执行指定任务且具有返回值的脚本命令。您可以定义自己的过程,然后在脚本中反复调用它们。您可以将过程定义放在调用过程的 .asp 文件中,也可以将通用过程放在一个共享的 .asp 文件中,然后用 SSI #include 指令将其包含进其他调用其过程的 .asp 文件中。您还可选择另一种方法,即把这些功能打包在 ActiveX 组件中。过程定义可出现在 < SCRIPT > 和 < /SCRIPT > 标记内部且必须遵循声明脚本语言的规则。如果过程所用的语言与主脚本语言不同,则要使用 < SCRIPT > 元素。主脚本语言中的过程用脚本分界符 (< % 和 % >) 分隔。用 HTML< SCRIPT > 标记时,必须使用两个属性来保证服务器端能够处理脚本。使用 < SCRIPT > 标记的语法如下: 
       
         < SCRIPT RUNAT=SERVER LANGUAGE=JSCRIPT >  
         procedure definition  
         < /SCRIPT > 
      
——
      
争分夺秒背单词 → brim  n.边,边缘;帽沿
 □ 发帖时间:2008-1-24|21:32:08 |回复|返回|



阳光宝宝
90

 □ 主题: 回应:ASP基础
 □ 内容: 9楼

      这里的 RUNAT=SERVER 属性通知 Web 服务器在服务器上处理脚本。若不设置该属性,脚本将由客户端浏览器处理。LANGUAGE 属性决定此脚本块所用的脚本语言。您可以指定任何一种具有脚本引擎的语言。请使用 VBSCRIPT 指定 VBScript;用 JSCRIPT 指定 JScript。若不设置 LANGUAGE 属性,将用主脚本语言解释此脚本块。 
       
        在 VBScript 中,过程被分为两类:Sub 过程和 Function 过程。Sub 过程是包含在 Sub 和 End Sub 语句之间的一组 VBScript 语句,执行操作但不返回值。Sub 过程可以使用参数(由调用过程传递的常数、变量或表达式)。如果 Sub 过程无任何参数,则 Sub 语句必须包含空括号 ()。 
       
         Function 过程是包含在 Function 和 End Function 语句之间的一组 VBScript 语句。Function 过程与 Sub 过程类似,但是 Function 过程可以返回值。Function 过程可以使用参数(由调用过程传递的常数、变量或表达式)。如果 Function 过程无任何参数,则 Function 语句必须包含空括号 ()。Function 过程通过函数名返回一个值,这个值是在过程的语句中赋给函数名的。Function 返回值的数据类型总是 Variant。在下面的示例中 Sub 过程使用两个固有的(或内置的)VBScript 函数,即 MsgBox 和 InputBox,来提示用户输入信息。然后显示根据这些信息计算的结果。计算由使用 VBScript 创建的 Function 过程完成,Celsius 函数将华氏度换算为摄氏度。Sub 过程 ConvertTemp 调用此函数时,包含参数值的变量被传递给函数。换算结果返回到调用过程并显示在消息框中。 
       
         Sub ConvertTemp()  
         temp = InputBox(" 请输入华氏温度。", 1)  
         MsgBox " 温度为 " & Celsius(temp) & " 摄氏度。"  
         End Sub  
         Function Celsius(fDegrees)  
         Celsius = (fDegrees - 32) * 5 / 9  
         End Function 
       
        给过程传递数据的途径是使用参数。参数被作为要传递给过程的数据的占位符。参数名可以是任何有效的变量名。使用 Sub 语句或 Function 语句创建过程时,过程名之后必须紧跟括号。括号中包含所有参数,参数间用逗号分隔。例如,在下面的示例中,fDegrees 是传递给 Celsius 函数的值的占位符:  
       
         Function Celsius(fDegrees)  
         Celsius = (fDegrees - 32) * 5 / 9  
         End Function  
       
        要从过程获取数据,必须使用 Function 过程。请记住,Function 过程可以返回值;Sub 过程不返回值。
——
      
争分夺秒背单词 → similarity  n.类似,相似;类似点
 □ 发帖时间:2008-1-24|21:32:20 |回复|返回|



喜来网
5

 □ 主题: 回应:ASP基础
 □ 内容: 10楼

      抽空也来学学!
争分夺秒背单词 → intervene  vi.干涉,干预;播进
 □ 发帖时间:2008-3-25|13:49:12 |回复|返回|

 页次:1/1页 每页10  本主题贴数9 分页: 1


你还没有登录论坛,所以不能发表你的意见。你可以选择:

1、我已注册,我要

2、我还没注册,我要

3、太麻烦了,我还是

Go Top

Copyright by(C)2003-2015 http://abc.sy578.cn