亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > ASP > 正文

ASP應用中心得回放

2024-05-04 11:07:45
字體:
來源:轉載
供稿:網友

學好一門編程語言有兩個條件是必不可少的,一是理論與實踐結合,在實際例程去驗證書本上的理論能加深你對理論的理解;二是學會總結,把學習、運用中的心得體會記下來,當成一種經驗或者教訓加以提煉并在日后的應用中加以改進,一定能提高你對這門編程語言的認識。以下是筆者在學習與運用asp編程中的兩點經驗,希望能對大家有所幫助。
     
     
                                   ASP頁面內VBScript和JScript的交互
                  
     ASP具備管理不同語言腳本程序的能力,能夠自動調用合適的腳本引擎以解釋腳本代碼和執行內置函數。ASP開發環境提供了兩種腳本引擎,即VBScript(缺省)和JScript。不過,開發者并沒有被限制于只能使用這兩種語言,只要能夠提供合適的ActiveX腳本引擎就能使用任何腳本語言。 
     
     腳本語言的選擇往往基于許多不同原因:它可能是開發者最為熟悉的語言,可能是對給定工程來說能夠提供最多特色支持的,也有可能是最具效率的。不同的環境和要求使得我們在選擇腳本語言時注重不同的因素,同時也使得我們在某些時候面臨選定的腳本語言不能直接提供其它語言固有的函數這一問題,或某個腳本已經寫成但用的卻是另外一種腳本語言。 
     
     此時應該怎么辦?是否需要用當前所用的腳本語言重寫這些腳本?或者說,是否有可能在一種腳本語言中調用其它腳本語言的內置函數?本文要說明的就是在ASP應用中如何讓VBScript腳本和JScript腳本交互以最大限度地獲得兩種腳本語言的特色支持。 
     
        一、VBScript和JScript的內置函數 
     
     在VBScript和JScript中,有大量的內置函數功能是相同或類似的。然而,在一種腳本語言中內置的函數并非總是在另外一種腳本語言中也有對應的函數。例如,VBScript提供了許多用于操作字符串和格式化數據的函數,這些函數在JScript中并不存在。這些函數包括StrReverse()、Filter()以及FormatCurrency()等。在另一方面,JScript所提供的用于管理數組、字符串編碼等的函數在VBScript中也沒有定義,如join()、reverse()、pow()、位操作、escape()和unescape()等。 
     
        那么,如果在JScript程序中需要一個VBscript函數該怎么辦呢? 
     
        二、異種腳本的互相調用 
     
        如果需要在JScript腳本中調用一個VBScript中內置的函數,則應該寫一個VBScript用戶定義函數(在這里調用VBScript內置函數),然后在JScript腳本中象調用公用JScript函數一樣調用這個用戶定義函數。 
     
        例如,如果要調用的VBSCript內置函數是FormatCurrency(),則可以聲明如下自定義函數: 
     
      < SCRIPT LANGUAGE="VBSCRIPT" RUNAT="SERVER">
      Function FormatValue(Value) 
       FormatValue = FormatCurrency(Value)
      End Function
      < /SCRIPT>
     
        接下來在JScript代碼中就可以象普通JScript函數一樣調用FormatValue()了。用類似的方法也可以實現VBScript代碼調用JScript函數。 
     
        應用同樣的規則,我們可以在任何腳本內調用任何用戶定義函數。不過,從JScript腳本內調用一個不帶參數的VBScript過程(Sub)時應略加注意,此時在JScript中應該象調用一個不帶參數的JScript函數一樣調用它,如用foo()調用VBScript Sub foo過程。 
     
        三、數據共享 
     
        在某些情形下混合運用VBScript和JScript函數是非常有用的,但在不同語言腳本之間共享數據也可能很有用。實現這種共享的方法很簡單:不管使用的是什么語言,只要是在頁面級聲明的變量就可以任意引用。 
     
        對象的使用方法也相似,可以任意選用合適的語言讀取、修改屬性或調用對象的方法。當然給定對象的屬性和方法是由創建該對象實例的語言所定義的。正如上例VBScript的過程調用,當從JScript中調用一個不帶參數的VBScript對象的方法時,其調用方法也遵從JScript的調用規則,反之亦然。 
     
        四、數組管理 
     
        數組共享問題稍微復雜一點。雖然數組也象其它變量一樣可以在不同語言腳本之間共享,但必須注意兼容方面的問題。 
     
        VBScript數組在JScript下可以用VBScript的符號引用,即用myArray(2)引用數組元素而不是JScript的數組元素引用符號myArray[2]。此外,還可以使用一個特殊的JScript對象——VBArray對象將VBScript數組轉換為JScript數組。下面的代碼從VBScript數組myVBArray創建JScript數組myJSArray: 
     
      var Temp = new VBArray(myVBArray)
      var myJSArray
      myJSArray = Temp.toArray()
     
        上述代碼首先創建一個臨時的VBArray對象,然后使用它的toArray()方法將自己轉換為JScript數組。此后就可以象普通JScript數組一樣使用myJSArray,如myJSArray[1]。但應當注意的是,toArray()方法將把一個多維的VBArray轉換為一維的JScript數組。 
     
        從VBScript中引用JScript數組更為復雜。雖然在VBScript中我們可以直接訪問JScript數組相關的方法和屬性,但沒有直接訪問JScript數組的單個元素的方法。也就是說,我們可以在VBScript腳本中讀取JScript數組的長度屬性,如下所示: 
     
        x = myJSArray.length 
     
        但無法直接讀取該數組的單個元素,下面的VBScript代碼是不正確的: 
     
        x = myJSArray(3) 
     
        解決該問題的一個可行的方法是執行一個轉換過程,如下面的代碼所示,此處假定VBScript是缺省的腳本語言: 
     
     < %
       Dim Temp
       Dim myVBArray
       Temp = myJSArray.join(", ")
       myVBArray = Split(Temp, ", ")
     %>
     
        此處的JScript join()方法將數組myJSArray元素轉換到一個以逗號為分割符的字符串,VBScript Split()函數將字符串轉換為VBScript數組。注意這里我們是在VBScript環境下調用JScript的join方法。依照此例,我們可以通過自定義VBScript函數來模擬JScript的VBArray對象的toArray()方法以實現JScript數組到VBScript數組的轉換。 
     
        
     
     
                                                    用模板建立動態ASP頁
     
     對于模板,我想大家可能都有一些概念,在Word中很多模板,設計好了大概的版面,你只要用你自己的話填充那些占位字符就好了。這兒的模板大概也就是這個意思,頁面中相對穩定的部分固定下來,其他的部分根不同的情況在輸入不同的內容。其實在Dreamweaver中也有模板的功能,不過那個靜態的,只能手動填充內容,而這兒講的是動態的自動的內容填充。 
     
     首先,我先來解釋一下為什么要用到模板文件。有時候,模板能夠帶給你對網頁功能和布局更為完整的概念。當你看到Word的模板格式之后,就知道最后版面是個什么樣子的了,在這兒也是如此。例如,你可以保留ASP語句,而使用不同的模板來建立不同的頁面風格。這樣,你就不用為每種不同風格的網頁分別來寫不同的ASP頁面了,這顯然可以為我們節省很多時間和精力。而且,模板文件能夠讓你更容易的瀏覽頁面代碼,不用擔心ASP和HTML的混雜搞的你頭昏腦脹。你可以只用把注意力集中在HTML上,而完全不用去管ASP了。再有就是,摸板很簡單,你絕對很快就能搞懂搞定。在這篇文章中,將會用到一個數據庫——一個用的很廣泛的雇員表。包括雇員ID,姓名,照片,以及工作摘要和照片的注腳。下面是這個access數據庫的結構:
     文件名 - myDatabase.mdb
     表名 - Employees
     ID
     自動計數(Autonumber)
     FullName
     文本 - 最多100個字符
     PicURL
     文本 - 最多255個字符
     Duties
     注釋類型 
     PicCaption 
     文本 - 最多50個字符
     一個很簡單的數據庫,是吧。當然你可以按要求來擴展它,那就是你自己的事了。我假設你已了解數據庫的基本操作,這樣我不用在這上面花太多的筆墨,其實這兒的代碼都是很簡單的,只要你知道一些基本的東西,就能把它看懂。建立了數據庫之后,我們可以開始建立模板文件了。這個文件是每個頁面的骨架。我沒有用到表格,那樣有些麻煩,而我很懶:-)而且,也不用加入,標簽,因為那是要加在ASP頁面中的。所以到最后,它的樣子就是這樣了:       

Full Name: 
        %name% < br>Description of duties: 
       
%duties% 
       
This picture was taken: %date% 
       


       Employee ID: %empID% 
     
     就是這樣了!這就是一個簡單的模板。把它存為template.tmp,在后面的ASP頁面中將要引用到它。要注意的是:我們可以在模板中加入各種HTML標簽,你完全可以在摸版中定義好網頁的結構和樣式,就像實際寫一個網頁一樣,只是要把關鍵的地方標出來——注意到了那些%圍著的東西了嗎?那就是模板的精髓了?;蛟S你已經注意到,那些%圍著的是和數據庫中的字段意義對應的??纯聪旅娴腁SP代碼,是如何讀入模板和數據庫文件,把他們揉和在一起,然后輸出我們想要的HTML頁面。 
     
     
     
     這就是所有的代碼了,很簡單,不是嗎?它所作的只是打開模板文件,按順序讀入每一行,然后用沖數據庫中讀入的實際的字段值來代替模版中那些%img%,%name%標記。而且,它還把在“Duties”字段內大段文本中的回車解釋成HTML的回車
,這樣就不至于打亂整個的排版格式了。怎么樣?輕松搞定吧。模板在某些應用上真的是可以發揮奇效,省時省力。理論上,你還可以修改這段代碼,用FileSystemObject來讀寫文本,這樣數據就不一定要存儲在數據庫中了。在一些應用中,比如即時的新聞發布,這樣也許更為方便一些。 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
成人国产精品久久久久久亚洲| 美日韩精品免费观看视频| 久久综合色88| 中国人与牲禽动交精品| 欧美专区第一页| 成人免费视频网址| 欧美在线影院在线视频| 日本欧美一级片| 日韩欧美在线视频日韩欧美在线视频| 欧美一性一乱一交一视频| 日韩欧美精品在线观看| 91精品国产九九九久久久亚洲| 亚洲成avwww人| 日本国产精品视频| 欧美成人免费视频| 亚洲美女喷白浆| 日韩精品视频观看| 国产精品精品一区二区三区午夜版| 成人有码视频在线播放| 欧美最猛性xxxx| 日韩国产中文字幕| 中文字幕视频在线免费欧美日韩综合在线看| 538国产精品一区二区在线| 欧美极品少妇xxxxⅹ免费视频| 国产精品视频午夜| 欧美天天综合色影久久精品| 国产精品久久久久av免费| 中文字幕精品久久久久| 欧美性猛xxx| 国产日韩欧美综合| 亚洲v日韩v综合v精品v| 国产精品普通话| 亚洲成色777777在线观看影院| 久久视频中文字幕| 亚洲男人的天堂网站| 国产成人高清激情视频在线观看| 欧美日韩综合视频网址| 青青草国产精品一区二区| 亚洲国产欧美自拍| 久久精品国产精品亚洲| 亚洲精品在线观看www| 97在线免费视频| 欧美激情网站在线观看| 久久国产精品久久国产精品| 18一19gay欧美视频网站| 久久中文字幕在线视频| 奇米影视亚洲狠狠色| 欧美激情一区二区三区高清视频| 日韩国产精品视频| 91午夜理伦私人影院| 欧美日韩国产91| 日韩av免费看网站| 亚洲精品久久久久久久久久久久久| 91国自产精品中文字幕亚洲| 欧美一区二三区| 成人福利视频在线观看| 国产精品高清在线观看| 国产成人精彩在线视频九色| 亚洲欧美一区二区三区久久| 揄拍成人国产精品视频| www欧美日韩| 韩国视频理论视频久久| 欧美视频免费在线| 国产aaa精品| 亚洲伊人久久大香线蕉av| 永久免费毛片在线播放不卡| 韩国三级电影久久久久久| 欧美电影《睫毛膏》| 亚洲色图色老头| 国产成人在线精品| 在线播放精品一区二区三区| 欧美日韩午夜视频在线观看| 国产精品久久久久久久久久| 成人性生交大片免费看视频直播| 欧美日韩一二三四五区| 亚洲欧美变态国产另类| 欧美大片免费观看| 777午夜精品福利在线观看| 国产精品黄页免费高清在线观看| 精品国产一区二区三区久久狼5月| 992tv成人免费视频| 亚洲一区二区三区久久| 欧美激情免费看| 日韩成人久久久| 在线国产精品视频| 日韩经典一区二区三区| 亚洲伊人成综合成人网| 丝袜情趣国产精品| 欧美一区在线直播| 91在线网站视频| 国产亚洲欧美日韩精品| 欧美日韩国产中文精品字幕自在自线| 久久影院资源网| 九九精品在线播放| 国产成人精品视频| 欧美国产日产韩国视频| 亚洲美女免费精品视频在线观看| 亚洲天堂成人在线视频| www欧美xxxx| 国产精品久久久久av免费| 亚洲精品动漫100p| 91伊人影院在线播放| 久色乳综合思思在线视频| 在线观看视频亚洲| 亚洲成人国产精品| 欧美成人剧情片在线观看| 91性高湖久久久久久久久_久久99| 久久99国产综合精品女同| 亚洲精选一区二区| 国产91热爆ts人妖在线| 日韩精品极品在线观看播放免费视频| 亚州成人av在线| 亚洲国产精品字幕| 欧美日韩亚洲激情| 亚洲精品自产拍| 中文字幕久热精品视频在线| 久久成人这里只有精品| 在线播放精品一区二区三区| 亚洲理论片在线观看| 欧美激情va永久在线播放| 日韩第一页在线| 在线电影av不卡网址| 国产日韩在线视频| 97在线免费观看视频| 色视频www在线播放国产成人| 国产精品电影在线观看| 国产日韩欧美在线| 久久99国产精品久久久久久久久| 色婷婷久久av| 欧美日韩在线观看视频小说| 深夜福利一区二区| 日韩av免费看| 亚洲香蕉在线观看| 亚洲精品国产精品乱码不99按摩| 亚洲美女性生活视频| 成人女保姆的销魂服务| 97**国产露脸精品国产| 欧美日韩激情视频| 色哟哟网站入口亚洲精品| 欧美壮男野外gaytube| 欧美在线免费观看| 精品视频在线播放免| 国产精品久久久久久亚洲影视| 国产精品久久久久久av福利| 国产精品私拍pans大尺度在线| 91禁国产网站| 8x拔播拔播x8国产精品| 国产精品第一页在线| 亚洲欧美一区二区三区在线| 国产日韩一区在线| 日韩大片免费观看视频播放| 欧美大成色www永久网站婷| 欧美丰满少妇xxxxx做受| 欧美成人一二三| 亚洲成人久久久| 久久伊人精品一区二区三区| 国产噜噜噜噜噜久久久久久久久| 欧美精品一本久久男人的天堂| 8x拔播拔播x8国产精品| 国产亚洲精品一区二区| 亚洲大胆人体视频| 992tv成人免费影院| 亚洲夜晚福利在线观看| 亚洲一级免费视频|