国产成人精品18p,天天干成人网,无码专区狠狠躁天天躁,美女脱精光隐私扒开免费观看

ASP動(dòng)態(tài)網(wǎng)頁(yè)制作技術(shù)經(jīng)驗分享

發(fā)布時(shí)間:2021-08-17 12:10 來(lái)源: 閱讀:0 作者: 欄目: ASP 歡迎投稿:712375056

學(xué)好一門(mén)編程語(yǔ)言有兩個(gè)條件是必不可少的,一是理論與實(shí)踐結合。在實(shí)際例程去驗ssl/' target='_blank'>證書(shū)本上的理論能加深你對理論的理解;二是學(xué)會(huì )總結,把學(xué)習、運用中的心得體會(huì )記下來(lái),當成一種經(jīng)驗或者教訓加以提煉并在日后的應用中加以改進(jìn),一定能提高你對這門(mén)編程語(yǔ)言的認識。以下是筆者在學(xué)習與運用ASP編程中的兩點(diǎn)經(jīng)驗,希望能對大家有所幫助。

ASP頁(yè)面內VBScript和JScript的交互

ASP具備管理不同語(yǔ)言腳本程序的能力,能夠自動(dòng)調用合適的腳本引擎以解釋腳本代碼和執行內置函數。ASP開(kāi)發(fā)環(huán)境提供了兩種腳本引擎,即VBScript(缺?。┖蚃Script。不過(guò),開(kāi)發(fā)者并沒(méi)有被限制于只能使用這兩種語(yǔ)言,只要能夠提供合適的ActiveX腳本引擎就能使用任何腳本語(yǔ)言。

腳本語(yǔ)言的選擇往往基于許多不同原因:它可能是開(kāi)發(fā)者最為熟悉的語(yǔ)言,可能是對給定工程來(lái)說(shuō)能夠提供最多特色支持的,也有可能是最具效率的。不同的環(huán)境和要求使得我們在選擇腳本語(yǔ)言時(shí)注重不同的因素,同時(shí)也使得我們在某些時(shí)候面臨選定的腳本語(yǔ)言不能直接提供其它語(yǔ)言固有的函數這一問(wèn)題,或某個(gè)腳本已經(jīng)寫(xiě)成但用的卻是另外一種腳本語(yǔ)言。

此時(shí)應該怎么辦?是否需要用當前所用的腳本語(yǔ)言重寫(xiě)這些腳本?或者說(shuō),是否有可能在一種腳本語(yǔ)言中調用其它腳本語(yǔ)言的內置函數?本文要說(shuō)明的就是在A(yíng)SP應用中如何讓VBScript腳本和JScript腳本交互以最大限度地獲得兩種腳本語(yǔ)言的特色支持。

一、VBScript和JScript的內置函數

在VBScript和JScript中,有大量的內置函數功能是相同或類(lèi)似的。然而,在一種腳本語(yǔ)言中內置的函數并非總是在另外一種腳本語(yǔ)言中也有對應的函數。例如,VBScript提供了許多用于操作字符串和格式化數據的函數,這些函數在JScript中并不存在。這些函數包括StrReverse()、Filter()以及FormatCurrency()等。在另一方面,JScript所提供的用于管理數組、字符串編碼等的函數在VBScript中也沒(méi)有定義,如join()、reverse()、pow()、位操作、escape()和unescape()等。

那么,如果在JScript程序中需要一個(gè)VBscript函數該怎么辦呢?

二、異種腳本的互相調用

如果需要在JScript腳本中調用一個(gè)VBScript中內置的函數,則應該寫(xiě)一個(gè)VBScript用戶(hù)定義函數(在這里調用VBScript內置函數),然后在JScript腳本中象調用公用JScript函數一樣調用這個(gè)用戶(hù)定義函數。

例如,如果要調用的VBSCript內置函數是FormatCurrency(),則可以聲明如下自定義函數:

以下為引用的內容:

< SCRIPT LANGUAGE="VBSCRIPT" RUNAT="SERVER"> 
Function FormatValue(Value) 
FormatValue = FormatCurrency(Value) 
End Function 
< /SCRIPT> 

接下來(lái)在JScript代碼中就可以象普通JScript函數一樣調用FormatValue()了。用類(lèi)似的方法也可以實(shí)現VBScript代碼調用JScript函數。

應用同樣的規則,我們可以在任何腳本內調用任何用戶(hù)定義函數。不過(guò),從JScript腳本內調用一個(gè)不帶參數的VBScript過(guò)程(Sub)時(shí)應略加注意,此時(shí)在JScript中應該象調用一個(gè)不帶參數的JScript函數一樣調用它,如用foo()調用VBScript Sub foo過(guò)程。

三、數據共享

在某些情形下混合運用VBScript和JScript函數是非常有用的,但在不同語(yǔ)言腳本之間共享數據也可能很有用。實(shí)現這種共享的方法很簡(jiǎn)單:不管使用的是什么語(yǔ)言,只要是在頁(yè)面級聲明的變量就可以任意引用。

對象的使用方法也相似,可以任意選用合適的語(yǔ)言讀取、修改屬性或調用對象的方法。當然給定對象的屬性和方法是由創(chuàng )建該對象實(shí)例的語(yǔ)言所定義的。正如上例VBScript的過(guò)程調用,當從JScript中調用一個(gè)不帶參數的VBScript對象的方法時(shí),其調用方法也遵從JScript的調用規則,反之亦然。

四、數組管理

數組共享問(wèn)題稍微復雜一點(diǎn)。雖然數組也象其它變量一樣可以在不同語(yǔ)言腳本之間共享,但必須注意兼容方面的問(wèn)題。

VBScript數組在JScript下可以用VBScript的符號引用,即用myArray(2)引用數組元素而不是JScript的數組元素引用符號myArray[2]。此外,還可以使用一個(gè)特殊的JScript對象——VBArray對象將VBScript數組轉換為JScript數組。下面的代碼從VBScript數組myVBArray創(chuàng )建JScript數組myJSArray:

以下為引用的內容:

var Temp = new VBArray(myVBArray) 
var myJSArray 
myJSArray = Temp.toArray() 

上述代碼首先創(chuàng )建一個(gè)臨時(shí)的VBArray對象,然后使用它的toArray()方法將自己轉換為JScript數組。此后就可以象普通JScript數組一樣使用myJSArray,如myJSArray[1]。但應當注意的是,toArray()方法將把一個(gè)多維的VBArray轉換為一維的JScript數組。

從VBScript中引用JScript數組更為復雜。雖然在VBScript中我們可以直接訪(fǎng)問(wèn)JScript數組相關(guān)的方法和屬性,但沒(méi)有直接訪(fǎng)問(wèn)JScript數組的單個(gè)元素的方法。也就是說(shuō),我們可以在VBScript腳本中讀取JScript數組的長(cháng)度屬性,如下所示:

x = myJSArray.length
但無(wú)法直接讀取該數組的單個(gè)元素,下面的VBScript代碼是不正確的:

x = myJSArray(3)
解決該問(wèn)題的一個(gè)可行的方法是執行一個(gè)轉換過(guò)程,如下面的代碼所示,此處假定VBScript是缺省的腳本語(yǔ)言:

以下為引用的內容:

< % 
Dim Temp 
Dim myVBArray 
Temp = myJSArray.join(", ") 
myVBArray = Split(Temp, ", ") 
%> 

此處的JScript join()方法將數組myJSArray元素轉換到一個(gè)以逗號為分割符的字符串,VBScript Split()函數將字符串轉換為VBScript數組。注意這里我們是在VBScript環(huán)境下調用JScript的join方法。依照此例,我們可以通過(guò)自定義VBScript函數來(lái)模擬JScript的VBArray對象的toArray()方法以實(shí)現JScript數組到VBScript數組的轉換。

用模板建立動(dòng)態(tài)ASP頁(yè)

對于模板,我想大家可能都有一些概念,在word中很多模板,設計好了大概的版面,你只要用你自己的話(huà)填充那些占位字符就好了。這兒的模板大概也就是這個(gè)意思,頁(yè)面中相對穩定的部分固定下來(lái),其他的部分根不同的情況在輸入不同的內容。其實(shí)在DreamWeaver中也有模板的功能,不過(guò)那個(gè)靜態(tài)的,只能手動(dòng)填充內容,而這兒講的是動(dòng)態(tài)的自動(dòng)的內容填充。

首先,我先來(lái)解釋一下為什么要用到模板文件。有時(shí)候,模板能夠帶給你對網(wǎng)頁(yè)功能和布局更為完整的概念。當你看到Word的模板格式之后,就知道最后版面是個(gè)什么樣子的了,在這兒也是如此。例如,你可以保留ASP語(yǔ)句,而使用不同的模板來(lái)建立不同的頁(yè)面風(fēng)格。

這樣,你就不用為每種不同風(fēng)格的網(wǎng)頁(yè)分別來(lái)寫(xiě)不同的ASP頁(yè)面了,這顯然可以為我們節省很多時(shí)間和精力。而且,模板文件能夠讓你更容易的瀏覽頁(yè)面代碼,不用擔心ASP和HTML的混雜搞的你頭昏腦脹。你可以只用把注意力集中在HTML上,而完全不用去管ASP了。再有就是,摸板很簡(jiǎn)單,你絕對很快就能搞懂搞定。在這篇文章中,將會(huì )用到一個(gè)數據庫——一個(gè)用的很廣泛的雇員表。包括雇員ID,姓名,照片,以及工作摘要和照片的注腳。下面是這個(gè)Access數據庫的結構:

一個(gè)很簡(jiǎn)單的數據庫,是吧。當然你可以按要求來(lái)擴展它,那就是你自己的事了。我假設你已了解數據庫的基本操作,這樣我不用在這上面花太多的筆墨,其實(shí)這兒的代碼都是很簡(jiǎn)單的,只要你知道一些基本的東西,就能把它看懂。建立了數據庫之后,我們可以開(kāi)始建立模板文件了。這個(gè)文件是每個(gè)頁(yè)面的骨架。我沒(méi)有用到表格,那樣有些麻煩,而我很懶,而且,也不用加入,標簽,因為那是要加在A(yíng)SP頁(yè)面中的。所以到最后,它的樣子就是這樣了:

就是這樣了!這就是一個(gè)簡(jiǎn)單的模板。把它存為template.tmp,在后面的ASP頁(yè)面中將要引用到它。要注意的是:我們可以在模板中加入各種HTML標簽,你完全可以在摸版中定義好網(wǎng)頁(yè)的結構和樣式,就像實(shí)際寫(xiě)一個(gè)網(wǎng)頁(yè)一樣,只是要把關(guān)鍵的地方標出來(lái)——注意到了那些%圍著(zhù)的東西了嗎?那就是模板的精髓了?;蛟S你已經(jīng)注意到,那些%圍著(zhù)的是和數據庫中的字段意義對應的??纯聪旅娴腁SP代碼,是如何讀入模板和數據庫文件,把他們揉和在一起,然后輸出我們想要的HTML頁(yè)面。

這就是所有的代碼了,很簡(jiǎn)單,不是嗎?它所作的只是打開(kāi)模板文件,按順序讀入每一行,然后用沖數據庫中讀入的實(shí)際的字段值來(lái)代替模版中那些%img%,%name%標記。而且,它還把在“Duties”字段內大段文本中的回車(chē)解釋成HTML的回車(chē) ,這樣就不至于打亂整個(gè)的排版格式了。怎么樣?輕松搞定吧。模板在某些應用上真的是可以發(fā)揮奇效,省時(shí)省力。

理論上,你還可以修改這段代碼,用FileSystemObject來(lái)讀寫(xiě)文本,這樣數據就不一定要存儲在數據庫中了。在一些應用中,比如即時(shí)的新聞發(fā)布,這樣也許更為方便一些。

以上就是ASP動(dòng)態(tài)網(wǎng)頁(yè)制作技術(shù)的詳細介紹,希望對大家的學(xué)習有所幫助。

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。

成人毛片AV免费| 日本亚洲欧洲另类图片| 强行扒开双腿疯狂进出动态图视频| 久久精品国产亚洲不AV麻豆| 麻花传剧MV在线看高清| 久久人妻无码中文字幕|