电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

ASP動態網頁制作技術經驗分享

瀏覽:390日期:2022-06-05 11:52:06

學好一門編程語言有兩個條件是必不可少的,一是理論與實踐結合。在實際例程去驗證書本上的理論能加深你對理論的理解;二是學會總結,把學習、運用中的心得體會記下來,當成一種經驗或者教訓加以提煉并在日后的應用中加以改進,一定能提高你對這門編程語言的認識。以下是筆者在學習與運用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數據庫的結構:

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

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

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

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

以上就是ASP動態網頁制作技術的詳細介紹,希望對大家的學習有所幫助。

標簽: ASP
相關文章:
主站蜘蛛池模板: 工业铝型材生产厂家_铝合金型材配件批发精加工定制厂商 - 上海岐易铝业 | 东莞韩创-专业绝缘骨架|马达塑胶零件|塑胶电机配件|塑封电机骨架厂家 | 厚壁钢管-厚壁无缝钢管-小口径厚壁钢管-大口径厚壁钢管 - 聊城宽达钢管有限公司 | 工业rfid读写器_RFID工业读写器_工业rfid设备厂商-ANDEAWELL | 杭州门窗厂家_阳光房_包阳台安装电话-杭州窗猫铝合金门窗 | 刚性-柔性防水套管-橡胶伸缩接头-波纹管补偿器-启腾供水材料有限公司 | 房车价格_依维柯/大通/东风御风/福特全顺/江铃图片_云梯搬家车厂家-程力专用汽车股份有限公司 | 安徽合肥格力空调专卖店_格力中央空调_格力空调总经销公司代理-皖格制冷设备 | 磁力去毛刺机_去毛刺磁力抛光机_磁力光饰机_磁力滚抛机_精密金属零件去毛刺机厂家-冠古科技 | 济南ISO9000认证咨询代理公司,ISO9001认证,CMA实验室认证,ISO/TS16949认证,服务体系认证,资产管理体系认证,SC食品生产许可证- 济南创远企业管理咨询有限公司 郑州电线电缆厂家-防火|低压|低烟无卤电缆-河南明星电缆 | 苏州防水公司_厂房屋面外墙防水_地下室卫生间防水堵漏-苏州伊诺尔防水工程有限公司 | 自动部分收集器,进口无油隔膜真空泵,SPME固相微萃取头-上海楚定分析仪器有限公司 | 北京租车牌|京牌指标租赁|小客车指标出租 | 电动葫芦|手拉葫芦|环链电动葫芦|微型电动葫芦-北京市凌鹰起重机械有限公司 | 东莞市天进机械有限公司-钉箱机-粘箱机-糊箱机-打钉机认准东莞天进机械-厂家直供更放心! | 艺术涂料|木纹漆施工|稻草漆厂家|马来漆|石桦奴|水泥漆|选加河南天工涂料 | 橡胶接头_橡胶软接头_可曲挠橡胶接头-巩义市创伟机械制造有限公司 | 安徽免检低氮锅炉_合肥燃油锅炉_安徽蒸汽发生器_合肥燃气锅炉-合肥扬诺锅炉有限公司 | 玄米影院| 欧美日韩国产一区二区三区不_久久久久国产精品无码不卡_亚洲欧洲美洲无码精品AV_精品一区美女视频_日韩黄色性爱一级视频_日本五十路人妻斩_国产99视频免费精品是看4_亚洲中文字幕无码一二三四区_国产小萍萍挤奶喷奶水_亚洲另类精品无码在线一区 | 世界箱包品牌十大排名,女包小众轻奢品牌推荐200元左右,男包十大奢侈品牌排行榜双肩,学生拉杆箱什么品牌好质量好 - Gouwu3.com | 蜗轮丝杆升降机-螺旋升降机-丝杠升降机厂家-润驰传动 | 丹佛斯压力传感器,WISE温度传感器,WISE压力开关,丹佛斯温度开关-上海力笙工业设备有限公司 | 烟气在线监测系统_烟气在线监测仪_扬尘检测仪_空气质量监测站「山东风途物联网」 | 志高装潢官网-苏州老房旧房装修改造-二手房装修翻新 | 卫生纸复卷机|抽纸机|卫生纸加工设备|做卫生纸机器|小型卫生纸加工需要什么设备|卫生纸机器设备多少钱一台|许昌恒源纸品机械有限公司 | TPE_TPE热塑性弹性体_TPE原料价格_TPE材料厂家-惠州市中塑王塑胶制品公司- 中塑王塑胶制品有限公司 | 合肥仿石砖_合肥pc砖厂家_合肥PC仿石砖_安徽旭坤建材有限公司 | 南京泽朗生物科技有限公司| 集菌仪_智能集菌仪_全封闭集菌仪_无菌检查集菌仪厂家-那艾 | 液压升降平台_剪叉式液压/导轨式升降机_传菜机定做「宁波日腾升降机厂家」 | 不锈钢水管-不锈钢燃气管-卫生级不锈钢管件-不锈钢食品级水管-广东双兴新材料集团有限公司 | 嘉兴泰东园林景观工程有限公司_花箱护栏 | 玉米深加工设备|玉米加工机械|玉米加工设备|玉米深加工机械-河南成立粮油机械有限公司 | 防水套管-柔性防水套管-刚性防水套管-上海执品管件有限公司 | ET3000双钳形接地电阻测试仪_ZSR10A直流_SXJS-IV智能_SX-9000全自动油介质损耗测试仪-上海康登 | 步进_伺服_行星减速机,微型直流电机,大功率直流电机-淄博冠意传动机械 | 昆山PCB加工_SMT贴片_PCB抄板_线路板焊接加工-昆山腾宸电子科技有限公司 | Q361F全焊接球阀,200X减压稳压阀,ZJHP气动单座调节阀-上海戎钛 | ET3000双钳形接地电阻测试仪_ZSR10A直流_SXJS-IV智能_SX-9000全自动油介质损耗测试仪-上海康登 | 冷却塔风机厂家_静音冷却塔风机_冷却塔电机维修更换维修-广东特菱节能空调设备有限公司 |