ASP實(shí)用大全-ASP基礎(chǔ)(4)
發(fā)表時(shí)間:2024-02-09 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
一、什么是VBScript?
VBScript是Microsoft Visual Basic Scripting Edition的簡稱,你可以把它當(dāng)作是Visual Basic的一個(gè)子集,但是這僅僅是從語法上來說的,正如JavaScript和JAVA的關(guān)系一樣,VBScript和Visual Basic并沒有什么本質(zhì)上的聯(lián)系。它是一種腳本語言,由VBScript腳本引擎(其實(shí)是一個(gè)動(dòng)態(tài)連接庫VBScript.dll)解釋執(zhí)行。目前它主要用在WWW網(wǎng)頁(只有IE能正確查看包含VBScript腳本的網(wǎng)頁,如果Netscape要正確查看,則必須安裝一個(gè)插件)以及微軟的WWW服務(wù)器IIS支持的ASP。
VBScript的語法這里就不再贅述,請(qǐng)讀者參考其它書籍。
二、ASP的輸出
像所有講編程的教材一樣,讓我們以“Hello World”開始吧。假設(shè)我們要在網(wǎng)頁里輸出“Hello World”,在HTML里是很簡單的事,在ASP中怎么做呢?請(qǐng)看下例:
。迹esponse.Write ″Hello World″%>
把它存成一個(gè)ASP文件,執(zhí)行后輸出的效果如圖1。
這里我們使用了Response對(duì)象的Write方法。Response對(duì)象是ASP內(nèi)置對(duì)象之一,也就是說,我們無需創(chuàng)建它就可以直接使用。ASP一共內(nèi)置了6個(gè)對(duì)象,它們是Server、Err、Application、Session、Request、Response,關(guān)于它們的屬性和方法,大家可以參考IIS或PWS的幫助文檔。
下面是另一種輸出的方法:
。迹=″Hello World″%>
這種語法是在ASP中特有的,它的意思是直接把等號(hào)“=”后面的內(nèi)容輸出到瀏覽器。
接下來讓我們看一個(gè)稍復(fù)雜的例子:
<script language=″VBScript″ runat=″server″>
response.write(″1″)
。/script>
<%response.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語句時(shí),會(huì)在服務(wù)器端對(duì)script進(jìn)行解釋,runat=″Server″的作用也就跟<%%>;相同了。而且 只是一種腳本環(huán)境,至于你要用什么腳本語言編程,那是你自己的選擇。在ASP安裝時(shí),已經(jīng)帶有VBscript和JScript的腳本引擎。缺省地,使用VBScript作為腳本語言,不過你也可以用language屬性指定你所用的腳本語言。如上例,你可以在一個(gè)ASP文件中使用多種腳本語言。
現(xiàn)在我要考考你了,上例的輸出結(jié)果是什么呢?“1234”嗎?你試一試。輸出的竟然是“4231”!原來,IIS處理ASP文件時(shí),總是把文件依次交給系統(tǒng)上安裝的所有腳本引擎,而JScript的順序在VBScript前面。這就是“4”輸出在最前面的原因。然后,另一條規(guī)則是,在$#@60;script$#@62;括起來的代碼和<% %>括起來的代碼間,<% %>括起來的總是先被處理。而Response.Write 和“=”則沒有先后順序,按照出現(xiàn)的順序處理。這就是“23”在“1”前面的道理。
三、取得表單提交的內(nèi)容
我們?cè)诰W(wǎng)上沖浪的時(shí)候,經(jīng)常會(huì)看到有些網(wǎng)頁中有些輸入框以及按扭。當(dāng)在輸入框中輸入一些內(nèi)容比如姓名,然后按下按扭時(shí),我們所輸入的內(nèi)容就會(huì)被瀏覽器傳到服務(wù)器上去。網(wǎng)頁中的那些同我們交互的東西就組成了一個(gè)表單,在HTML里用標(biāo)簽<form>標(biāo)識(shí)。表單總是被提交給一個(gè)處理程序,這個(gè)處理程序可以是CGI,也可以是ASP。用過CGI的朋友可能知道,在CGI中為了取出用戶在表單中的輸入信息是件很麻煩的事情,甚至有人專門寫了例程來完成這件事情。然后,處理程序又將輸出一些提示信息,向用戶報(bào)告處理結(jié)果。從而完成一個(gè)交互過程。在ASP中,所有這些操作變得很簡單了。請(qǐng)看下面的例子。
假設(shè)服務(wù)器上有一個(gè)文件form.htm,它只包含一個(gè)表單(圖2),源代碼如下:
。糷tml>
<body>
。糵orm method=″post″ action=″test.asp″>
姓名:<input type=″input″ name=″xm″>
。粿60;input type=″submit″ value=″確認(rèn)″>
。/form>
。/body>
。/html>
點(diǎn)擊“確認(rèn)”鍵后,表單將請(qǐng)求test.asp處理表單值。我們的test.asp代碼為:
<%
dim a
a=Request.Form(″xm″)
Response.Write a
。ィ
它將在瀏覽器端顯示出我們輸入的“張三”字樣。
這里用到了Request對(duì)象,在這個(gè)對(duì)象中保存了所有由form提交過來的數(shù)據(jù),它們以集合的形式存在,可以通過元素名取出其中的值。然后我們的程序把它輸出到瀏覽器。真的要感謝對(duì)象,它們幫我們做了一切,我們只需要簡單地取用就可以了。當(dāng)然我們也可以讓test.asp做更復(fù)雜的事,例如將輸入的姓名存儲(chǔ)在服務(wù)器中的數(shù)據(jù)庫里,或者檢查此人是否有訪問下一頁面的權(quán)利等。
好了,我們終于可以用ASP做具有交互性的網(wǎng)頁了,而且它是如此地簡單。在下一講中,我們將接觸Internet上最普通的應(yīng)用所需要的操作——數(shù)據(jù)庫操作。