公交车上荫蒂添的好舒服的电影-公用玩物(np双xing总受)-公用小荡货芊芊-公与妇仑乱hd-攻把受做哭边走边肉楼梯play-古装一级淫片a免费播放口

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

應用總結(jié):ASP編程心得回放

admin
2010年12月30日 21:45 本文熱度 2879
  學好一門編程語言有兩個條件是必不可少的,一是理論與實踐結(jié)合,在實際例程去驗證書本上的理論能加深你對理論的理解;二是學會總結(jié),把學習、運用中的心得體會記下來,當成一種經(jīng)驗或者教訓加以提煉并在日后的應用中加以改進,一定能提高你對這門編程語言的認識。以下是筆者在學習與運用ASP編程中的兩點經(jīng)驗,希望能對大家有所幫助。

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

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

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

  此時應該怎么辦?是否需要用當前所用的腳本語言重寫這些腳本?或者說,是否有可能在一種腳本語言中調(diào)用其它腳本語言的內(nèi)置函數(shù)?本文要說明的就是在ASP應用中如何讓VBScript腳本和JScript腳本交互以最大限度地獲得兩種腳本語言的特色支持。

  一、VBScript和JScript的內(nèi)置函數(shù)

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

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

  二、異種腳本的互相調(diào)用

  如果需要在JScript腳本中調(diào)用一個VBScript中內(nèi)置的函數(shù),則應該寫一個VBScript用戶定義函數(shù)(在這里調(diào)用VBScript內(nèi)置函數(shù)),然后在JScript腳本中象調(diào)用公用JScript函數(shù)一樣調(diào)用這個用戶定義函數(shù)。

  例如,如果要調(diào)用的VBSCript內(nèi)置函數(shù)是FormatCurrency(),則可以聲明如下自定義函數(shù):
 < SCRIPT LANGUAGE="VBSCRIPT" RUNAT="SERVER">
 Function FormatValue(Value)
  FormatValue = FormatCurrency(Value)
 End Function
 < /SCRIPT>

  接下來在JScript代碼中就可以象普通JScript函數(shù)一樣調(diào)用FormatValue()了。用類似的方法也可以實現(xiàn)VBScript代碼調(diào)用JScript函數(shù)。

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

  三、數(shù)據(jù)共享

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

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

  四、數(shù)組管理

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

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


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

  從VBScript中引用JScript數(shù)組更為復雜。雖然在VBScript中我們可以直接訪問JScript數(shù)組相關(guān)的方法和屬性,但沒有直接訪問JScript數(shù)組的單個元素的方法。也就是說,我們可以在VBScript腳本中讀取JScript數(shù)組的長度屬性,如下所示:
  x = myJSArray.length

  但無法直接讀取該數(shù)組的單個元素,下面的VBScript代碼是不正確的:
   x = myJSArray(3)

  解決該問題的一個可行的方法是執(zhí)行一個轉(zhuǎn)換過程,如下面的代碼所示,此處假定VBScript是缺省的腳本語言:
< %
  Dim Temp
  Dim myVBArray
  Temp = myJSArray.join(", ")
  myVBArray = Split(Temp, ", ")
%>


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

用模板建立動態(tài)ASP頁

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

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

  這樣,你就不用為每種不同風格的網(wǎng)頁分別來寫不同的ASP頁面了,這顯然可以為我們節(jié)省很多時間和精力。而且,模板文件能夠讓你更容易的瀏覽頁面代碼,不用擔心ASP和HTML的混雜搞的你頭昏腦脹。你可以只用把注意力集中在HTML上,而完全不用去管ASP了。再有就是,摸板很簡單,你絕對很快就能搞懂搞定。在這篇文章中,將會用到一個數(shù)據(jù)庫——一個用的很廣泛的雇員表。包括雇員ID,姓名,照片,以及工作摘要和照片的注腳。下面是這個Access數(shù)據(jù)庫的結(jié)構(gòu):
文件名 - myDatabase.mdb
表名 - Employees
ID
自動計數(shù)(Autonumber)
FullName
文本 - 最多100個字符
PicURL
文本 - 最多255個字符
Duties
注釋類型
PicCaption
文本 - 最多50個字符


  一個很簡單的數(shù)據(jù)庫,是吧。當然你可以按要求來擴展它,那就是你自己的事了。我假設你已了解數(shù)據(jù)庫的基本操作,這樣我不用在這上面花太多的筆墨,其實這兒的代碼都是很簡單的,只要你知道一些基本的東西,就能把它看懂。建立了數(shù)據(jù)庫之后,我們可以開始建立模板文件了。這個文件是每個頁面的骨架。我沒有用到表格,那樣有些麻煩,而我很懶,而且,也不用加入,標簽,因為那是要加在ASP頁面中的。所以到最后,它的樣子就是這樣了:
Full Name:
%name% < br>Description of duties:

%duties%

This picture was taken: %date%


Employee ID: %empID%


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

  這就是所有的代碼了,很簡單,不是嗎?它所作的只是打開模板文件,按順序讀入每一行,然后用沖數(shù)據(jù)庫中讀入的實際的字段值來代替模版中那些%img%,%name%標記。而且,它還把在“Duties”字段內(nèi)大段文本中的回車解釋成HTML的回車 ,這樣就不至于打亂整個的排版格式了。怎么樣?輕松搞定吧。模板在某些應用上真的是可以發(fā)揮奇效,省時省力。理論上,你還可以修改這段代碼,用FileSystemObject來讀寫文本,這樣數(shù)據(jù)就不一定要存儲在數(shù)據(jù)庫中了。在一些應用中,比如即時的新聞發(fā)布,這樣也許更為方便一些。

該文章在 2010/12/30 21:45:33 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點晴ERP是一款針對中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點晴PMS碼頭管理系統(tǒng)主要針對港口碼頭集裝箱與散貨日常運作、調(diào)度、堆場、車隊、財務費用、相關(guān)報表等業(yè)務管理,結(jié)合碼頭的業(yè)務特點,圍繞調(diào)度、堆場作業(yè)而開發(fā)的。集技術(shù)的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點晴WMS倉儲管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved

主站蜘蛛池模板: 东京热无码中文字幕av专区 | 国产精品男女猛烈高潮激情 | 国产亚洲日韩网曝欧美台湾 | 国产精品高潮一区 | 不卡一区二区三区 | 国产精品三级美女网站全黄真人 | 国产激情无码一区二区三区 | 国产成人+亚洲欧洲+综合 | 国产精品亚洲天堂 | 国产麻豆欧美亚洲综合久久 | 国产极品人妖在线观看 | 国产无码电影一区二区三区 | 国产av一区二区三区日韩 | 成人午夜特黄aaaaa片男男 | 91麻豆精品一区二区 | 国产欧美va欧美va香蕉在 | 2025精品国产自在现线看 | 国产成人综合亚洲欧美 | 国内偷自第一区二区三区 | 国产在线观看在小区区野战 | 国产成人啪精品午夜在线观看 | 2025高清国产一区二区三区 | 韩国日本亚洲欧洲一区二区三 | 国产成人三级在线视频网站观看 | 国产成人无码aⅴ片在线观看视频 | 国产黄a一级二级三级看三区 | 69精品久久久久中文字幕 | 精品少妇人妻av无码专区不卡 | 国产午夜精品理论片 | 18禁裸体女免费观看 | 国产三级在线现免费观看伊人 | 国产一级a级毛片久久久久精品卡 | 国产精品直播手机在线 | 成在线人永久免费视频播放 | 92国产福利久久青青草原 | 国产无套粉嫩白浆内精在线观看 | 国产偷抇久久精品a片蜜臀a | 国产精品免费观看久久 | 精品国色天香新区卡一卡二 | 国产日韩aⅴ无码一区二区 国产日韩aⅴ无码一区二区三区 | 国产无码一二三 |