什麼是ASP+?(二)
來源:互聯網
上載者:User
asp+ 什麼是ASP+(二)
Scott Mitchell (作) zhx(譯)
5.Post-Back Forms:
建立ASP頁面需要知道一些使用者資訊,在處理這些資訊的時候,許多的ASP開發人員使用的是Post-Back Forms:技術。對於那些不熟悉語言和技術的人來說,一個Post-Back Forms:是一個Web頁面表格(使用<FORM…..>標籤),這個表格的執行屬性可以被設定不存在或被設定為與顯示表格的Web頁面具有相同的URL。當使用者提交表格的時候,相同的ASP頁面被調用,於是使用者的輸入傳回了表格。而在ASP中處理這些時,需要用很長的if語句來判斷post-back是否發生了。
在ASP+中,語句的煩瑣已經過去,現在開發人員可以用控制按鈕(我們將得到伺服器的控制)建立一個ASP+頁面。在ASP+代碼中,開發人員建立一個函數,這個函數將只能在被點擊的時候觸發。(很好,我們可以在以後的文章中更加深入的看到這一點)。這些是通過使用微軟模式和Post-Back 表格的智能程式來完成的。表格提交後的所有行為可以用一個單一的函數來代替,而不是用一系列難讀的if語句。
服務控制:使用ASP,所有的採集使用者輸入的方法是從頭到尾執行完預設的HTML來控制使用者表格。例如:建立一個使用者可以鍵入資訊的文字框只用幾行代碼就可以完成。在ASP+中,這些被服務控制所代替,這些服務控制可以在只有幾行代碼的ASP+頁面中被建立。例如,要在ASP+頁面中建立一個文字框,你可以用上面標準的HTML標籤,或用一個帶有下面代碼的服務控制來完成:
<FORM><INPUT TYPE=TEXT NAME=MYTEXTBOX></FORM>
這個服務控制文字框,用ASP的文字框標籤建立,在ASP+指令中需要一個文字框。服務控制可以建立所需的HTML去描述一個標準的文字框。所以,當一個使用者瀏覽ASP+頁面的時候,HTML返回的是:
<FROM name=”ctr2” method=”post” action=”intro7.aspx” id=”ctr2”>
<INPUT type=”hidden” name=”_VIEWSTATE” value=”a0z-426043723…”>
<INPUT name=”MyTextBox” type=”text” id=”MyTextBox”>
…
需要注意的是,服務控制文字框只是用來解釋普通的HTML。還要注意的是,HIDDEN項的值是_VIEWSTATE。這些變數以使用者的輸入為基礎傳遞表格的狀態。這篇短文並沒有試圖去挖掘服務控制是怎樣工作和它們怎樣保持狀態的細節問題。這些對理解服務控制是怎樣將清楚,正確的HTML語句返回給使用者來說是很重要的。因此,就像以前使用ASP一樣,當將HTML傳給用戶端的時候,任何標準的Web瀏覽器可以很好的看見ASP+頁面。
擴充是有競爭的!:微軟的ASP+開發小組很清楚擴充 ASP應用程式是多麼困難。例如,如果你想在你的擴充伺服器上建立一個帶有許多通用的COM元件的龐大的ASP應用程式,你要將這個程式移到你的成品伺服器中是一個多麼令人頭疼的事。你要確保所有的COM對象存在於兩個伺服器中,而且在展開一個ASP應用程式時,這些已被註冊的元件將是最令人頭疼的事之一。還有,在擴充伺服器和成品伺服器之間,你要保持IIS的設定要也是很令人煩惱的事。
ASP+就將你從這些痛苦中解脫了。最明了的是,ASP+的COM註冊不再是問題了。我不騙你!簡單的拷貝COM DLL你需要有DLL目錄。就可以了!resvr32是不需要的!ASP+也提供一個設定檔(以文字格式設定),它可以被修改成各種配置,它通常只是在IIS管理頁面中是可變的。這兩個精彩的改變是擴充ASP+應用程式具有競爭力的地方。