往往使用動態網頁技術制作ASP應用程序時一般至少擁有二個或二個以上的Web頁面
這時就得考慮在多個Web頁面間傳遞數據的處理工作
而ASP應用程序的各個頁面類似於Windows應用程序的form窗體
Windows應用程序各form間數據傳遞可以通過定義全局變量等方法來實現
網頁間的數據傳遞有多種不同的可使用方式
而Web頁面間的數據傳遞方式選擇是否恰當對系統設計及運行的合理性與安全性起到舉足輕重的作用
URL方式 URL方式是實現Web間數據傳遞最基本的方法
操作簡單
可很方便地實現不同Web頁面間的數據傳遞
但其安全性比較差
將要傳遞的數據附加在網頁地址(URL)後面進行傳遞
如
其中?後面所跟著的字符串便是傳遞的數據
=前的是變量名
=後面是數值
可以使用request對象來獲取傳遞的數據
如
request(
username
)
這種方法在傳遞數據過程中其數據內容在URL欄中是顯示的
用戶能看到提交的內容
form方式 通過在網頁上制作表單交互區域
用戶在浏覽器端輸入數據
然後通過form提交到服務器
在提交後的接受form數據的頁面裡就可以接收到相應數據
即form的action頁面中可以使用request對象來接收所傳遞的數據
如
發送頁面
<form name=
formtest
action=
targetweb
asp
>
<input name=
testtext
type=
text
value=
>
<input name=
testbutton
type =
submit
value =
提交
>
</form>
接收頁面
request(
testtext
)
利用form頁面的文本框來接收用戶數據的輸入
通過submit按鈕提交後在targetweb頁面中使用request來接收數據
cookie方式 cookie是在浏覽頁面時Web服務器在浏覽器端所寫入的一些小文件
cookie是存放在浏覽器端本機磁盤上
而不是存放在服務端的
可以在發送數據時寫入cookie
接收時讀取cookie完成數據在Web頁面間的傳送
如
發送頁面
okies(
cookiename
)(
username
)=
liming
接收頁面
okie(
cookiename
)(
username
)
在發送頁面中對cookie變量賦值
接收頁面中取cookie變量的值就是所傳遞的數據
application對象 application對象是用來記錄整個網站信息的
是記錄不同浏覽器端共享的變量
無論有幾個浏覽者同時存取網頁
都只會產生一個application對象實例
用戶可以通過定義application整站共享變量來實現網頁間的數據傳遞
其定義方法是
application(
變量名
)=數值
如
application(
usrname
)=liming
application對象所定義的變量對於所有浏覽端都是可見的
所以其使用場合是所有浏覽端共享的全局數據傳遞
session對象 session對象是用來記錄浏覽器端的變量
是個別浏覽器端專用的變量
對於每一個浏覽器訪問時都會自動產生一個seseion對象
該對象提供一個存儲場所
用來存儲僅僅對該訪問者在會話的活動期間打開的網頁可用的變量和對象
這樣就用可以用來在Web間傳遞專對單個浏覽器端使用的數據
其定義方法
session(
變量名
)=數值
如
session(
usename
)=liming
session對象所定義的變量只是浏覽器端的專用變量
所以適用於局部會話間的網頁數據傳遞
結束語 上述介紹的是網頁間數據傳遞的常用方法
各有千秋
其中URL方式和form方式實現方法簡單
可實現網頁間的簡單數據傳遞
一般為字符串類型
其特點是安全性差
而且必須是連續訪問兩頁面間數據傳遞
Cookie只能存放string類型的數據
如果想要存放更為復雜的數據類型
那麼必須先將其轉換為string類型
Application對象和Session對象操作相對復雜些
浏覽量非常大的網頁使用時應適量
而且使用結束後盡量清除
否則大量使用有可能會導致服務器的癱瘓
Session變量的安全性較高
可傳遞專用浏覽端數據
具體應用決定了數據傳遞方式的選擇
合理數據傳遞方式選擇是Web頁面的設計中的關鍵考慮因素
From:http://tw.wingwit.com/Article/program/ASP/201311/21724.html