為什麼這足一個問題?是的在編寫應用程序的時候這確實會造成一些實際的問題因為通常都會希望以某種形式保留數據例如考慮一個在線一商店的支付貝面例如在線商店的支付頁面如圖所示
付款包括多個步驟每一步都要求用戶提供某種形式的信息確保他們己經登錄檢查他們的地址以及批准付款只要與HTTP有關每個步驟都是由用戶發出的一個獨立的請求頁面加載是一個請求按下Next按鈕是另一個請求如此等等
在頁面上填寫了某些詳細信息並按下按鈕之後這些信息將被送回Web服務器(術語回送(post)實際上來源於HTTP的POST命令)在到達付款的最後一個步驟時需要用到用戶輸入的所有信息而不僅僅是最後一個步驟中提供的內容由於HTTP和HTML不會保存這些信息開發人員就必須自己進行保存在ASPNET以外的開發環境中這可能會非常復雜而且耗時甚多但幸運的是服務器控件非常聰明它們可以在多次回送之間保存自己的狀態這意味著開發人員不再需要進行任何特殊的處理如果用戶按下按鈕將信息發送到Web服務器頁面在刷新之後文本框中仍然保存著用戶所輸入的數據這是標准HTML和服務器控件之間最大的差別之一也是我們使用服務器控件的原因之一
服務器控件為我們帶來了更多的方便考慮前面所說的支付頁面其中有多個文本框這只是其中的一個步驟另外還有登錄信息信用卡信息以及對這些步驟本身所采取的管理操作所有的文本項都是服務器控件但是還有一個Wizard控件該控件是專門針對類似情況設計的它能夠管理所有步驟在控件的左邊創建步驟菜單並提供Previous和Next按鈕開發人員所需要做的事情就是定義在這些步驟中需要哪些信息當到達最後一個步驟時用戶輸入的所有數據都是可用的接下來就可以處理訂單了
ASPNET 入門教程完整版
[] []
From:http://tw.wingwit.com/Article/program/net/201311/14558.html