明輝手游網(wǎng)中心:是一個免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺!

ASP實(shí)用大全-ASP基礎(chǔ)(4)

[摘要]VBScript及表單   一、什么是VBScript?  VBScript是Microsoft Visual Basic Scripting Edition的簡稱,你可以把它當(dāng)作是Visual Basic的一個子集,但是這僅僅是從語法上來說的,正如JavaScript和JAVA的關(guān)系一...

VBScript及表單

    

  一、什么是VBScript?

  VBScript是Microsoft Visual Basic Scripting Edition的簡稱,你可以把它當(dāng)作是Visual Basic的一個子集,但是這僅僅是從語法上來說的,正如JavaScript和JAVA的關(guān)系一樣,VBScript和Visual Basic并沒有什么本質(zhì)上的聯(lián)系。它是一種腳本語言,由VBScript腳本引擎(其實(shí)是一個動態(tài)連接庫VBScript.dll)解釋執(zhí)行。目前它主要用在WWW網(wǎng)頁(只有IE能正確查看包含VBScript腳本的網(wǎng)頁,如果Netscape要正確查看,則必須安裝一個插件)以及微軟的WWW服務(wù)器IIS支持的ASP。
  VBScript的語法這里就不再贅述,請讀者參考其它書籍。

  二、ASP的輸出

  像所有講編程的教材一樣,讓我們以“Hello World”開始吧。假設(shè)我們要在網(wǎng)頁里輸出“Hello World”,在HTML里是很簡單的事,在ASP中怎么做呢?請看下例:
 。迹esponse.Write ″Hello World″%>
  把它存成一個ASP文件,執(zhí)行后輸出的效果如圖1。
  這里我們使用了Response對象的Write方法。Response對象是ASP內(nèi)置對象之一,也就是說,我們無需創(chuàng)建它就可以直接使用。ASP一共內(nèi)置了6個對象,它們是Server、Err、Application、Session、Request、Response,關(guān)于它們的屬性和方法,大家可以參考IIS或PWS的幫助文檔。
  下面是另一種輸出的方法:
  <%=″Hello World″%>
  這種語法是在ASP中特有的,它的意思是直接把等號“=”后面的內(nèi)容輸出到瀏覽器。
  接下來讓我們看一個稍復(fù)雜的例子:
 。約cript language=″VBScript″ runat=″server″>
  response.write(″1″)
 。/script>
 。迹esponse.write(″2″)%>
  <%=″3″%>
 。約cript language=″jscript″ runat=″server″>
  response.write(″4″);
  </script>
  大家可能奇怪,怎么這回不像以前的寫法了呢。前面說過,ASP的代碼應(yīng)該是用<%和%>括起來的呀。其實(shí),只要在<Script>標(biāo)簽里加上runat=″Server″,那么,WWW服務(wù)器在遇到包含Runat=″server″的script語句時,會在服務(wù)器端對script進(jìn)行解釋,runat=″Server″的作用也就跟<%%>;相同了。而且 只是一種腳本環(huán)境,至于你要用什么腳本語言編程,那是你自己的選擇。在ASP安裝時,已經(jīng)帶有VBscript和JScript的腳本引擎。缺省地,使用VBScript作為腳本語言,不過你也可以用language屬性指定你所用的腳本語言。如上例,你可以在一個ASP文件中使用多種腳本語言。
  現(xiàn)在我要考考你了,上例的輸出結(jié)果是什么呢?“1234”嗎?你試一試。輸出的竟然是“4231”!原來,IIS處理ASP文件時,總是把文件依次交給系統(tǒng)上安裝的所有腳本引擎,而JScript的順序在VBScript前面。這就是“4”輸出在最前面的原因。然后,另一條規(guī)則是,在$#@60;script$#@62;括起來的代碼和<% %>括起來的代碼間,<% %>括起來的總是先被處理。而Response.Write 和“=”則沒有先后順序,按照出現(xiàn)的順序處理。這就是“23”在“1”前面的道理。

  三、取得表單提交的內(nèi)容

  我們在網(wǎng)上沖浪的時候,經(jīng)常會看到有些網(wǎng)頁中有些輸入框以及按扭。當(dāng)在輸入框中輸入一些內(nèi)容比如姓名,然后按下按扭時,我們所輸入的內(nèi)容就會被瀏覽器傳到服務(wù)器上去。網(wǎng)頁中的那些同我們交互的東西就組成了一個表單,在HTML里用標(biāo)簽<form>標(biāo)識。表單總是被提交給一個處理程序,這個處理程序可以是CGI,也可以是ASP。用過CGI的朋友可能知道,在CGI中為了取出用戶在表單中的輸入信息是件很麻煩的事情,甚至有人專門寫了例程來完成這件事情。然后,處理程序又將輸出一些提示信息,向用戶報告處理結(jié)果。從而完成一個交互過程。在ASP中,所有這些操作變得很簡單了。請看下面的例子。
  假設(shè)服務(wù)器上有一個文件form.htm,它只包含一個表單(圖2),源代碼如下:
  <html>
 。糱ody>
  <form method=″post″ action=″test.asp″>
  姓名:<input type=″input″ name=″xm″>
 。粿60;input type=″submit″ value=″確認(rèn)″>
  </form>
 。/body>
 。/html>
  點(diǎn)擊“確認(rèn)”鍵后,表單將請求test.asp處理表單值。我們的test.asp代碼為:
。迹
  dim a
  a=Request.Form(″xm″)
  Response.Write a
  %>
  它將在瀏覽器端顯示出我們輸入的“張三”字樣。
  這里用到了Request對象,在這個對象中保存了所有由form提交過來的數(shù)據(jù),它們以集合的形式存在,可以通過元素名取出其中的值。然后我們的程序把它輸出到瀏覽器。真的要感謝對象,它們幫我們做了一切,我們只需要簡單地取用就可以了。當(dāng)然我們也可以讓test.asp做更復(fù)雜的事,例如將輸入的姓名存儲在服務(wù)器中的數(shù)據(jù)庫里,或者檢查此人是否有訪問下一頁面的權(quán)利等。
  好了,我們終于可以用ASP做具有交互性的網(wǎng)頁了,而且它是如此地簡單。在下一講中,我們將接觸Internet上最普通的應(yīng)用所需要的操作——數(shù)據(jù)庫操作。