什么是ASP+(二) Scott Mitchell (作) zhx(譯)
5.Post-Back Forms:
創(chuàng)建ASP頁面需要知道一些用戶信息,在處理這些信息的時(shí)候,許多的ASP開發(fā)者使用的是Post-Back Forms:技術(shù)。對于那些不熟悉語言和技術(shù)的人來說,一個Post-Back Forms:是一個Web頁面表格(使用<FORM…..>標(biāo)簽),這個表格的執(zhí)行屬性可以被設(shè)置不存在或被設(shè)置為與顯示表格的Web頁面具有相同的URL。當(dāng)用戶提交表格的時(shí)候,相同的ASP頁面被調(diào)用,于是用戶的輸入傳回了表格。而在ASP中處理這些時(shí),需要用很長的if語句來判斷post-back是否發(fā)生了。
在ASP+中,語句的煩瑣已經(jīng)過去,現(xiàn)在開發(fā)者可以用控制按鈕(我們將得到服務(wù)器的控制)創(chuàng)建一個ASP+頁面。在ASP+代碼中,開發(fā)者創(chuàng)建一個函數(shù),這個函數(shù)將只能在被點(diǎn)擊的時(shí)候觸發(fā)。(很好,我們可以在以后的文章中更加深入的看到這一點(diǎn))。這些是通過使用微軟模式和Post-Back 表格的智能程序來完成的。表格提交后的所有行為可以用一個單一的函數(shù)來代替,而不是用一系列難讀的if語句。
服務(wù)控制:使用ASP,所有的采集用戶輸入的方法是從頭到尾執(zhí)行完默認(rèn)的HTML來控制用戶表格。例如:創(chuàng)建一個用戶可以鍵入信息的文本框只用幾行代碼就可以完成。在ASP+中,這些被服務(wù)控制所代替,這些服務(wù)控制可以在只有幾行代碼的ASP+頁面中被創(chuàng)建。例如,要在ASP+頁面中創(chuàng)建一個文本框,你可以用上面標(biāo)準(zhǔn)的HTML標(biāo)簽,或用一個帶有下面代碼的服務(wù)控制來完成:
<FORM><INPUT TYPE=TEXT NAME=MYTEXTBOX></FORM>
這個服務(wù)控制文本框,用ASP的文本框標(biāo)簽創(chuàng)建,在ASP+指令中需要一個文本框。服務(wù)控制可以創(chuàng)建所需的HTML去描述一個標(biāo)準(zhǔn)的文本框。所以,當(dāng)一個用戶瀏覽ASP+頁面的時(shí)候,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”> …
需要注意的是,服務(wù)控制文本框只是用來解釋普通的HTML。還要注意的是,HIDDEN項(xiàng)的值是_VIEWSTATE。這些變量以用戶的輸入為基礎(chǔ)傳遞表格的狀態(tài)。這篇短文并沒有試圖去挖掘服務(wù)控制是怎樣工作和它們怎樣保持狀態(tài)的細(xì)節(jié)問題。這些對理解服務(wù)控制是怎樣將清楚,正確的HTML語句返回給用戶來說是很重要的。因此,就像以前使用ASP一樣,當(dāng)將HTML傳給客戶端的時(shí)候,任何標(biāo)準(zhǔn)的Web瀏覽器可以很好的看見ASP+頁面。
擴(kuò)展是有競爭的!:微軟的ASP+開發(fā)小組很清楚擴(kuò)展 ASP應(yīng)用程序是多么困難。例如,如果你想在你的擴(kuò)展服務(wù)器上創(chuàng)建一個帶有許多通用的COM元件的龐大的ASP應(yīng)用程序,你要將這個程序移到你的成品服務(wù)器中是一個多么令人頭疼的事。你要確保所有的COM對象存在于兩個服務(wù)器中,而且在展開一個ASP應(yīng)用程序時(shí),這些已被注冊的元件將是最令人頭疼的事之一。還有,在擴(kuò)展服務(wù)器和成品服務(wù)器之間,你要保持IIS的設(shè)置要也是很令人煩惱的事。
ASP+就將你從這些痛苦中解脫了。最明了的是,ASP+的COM注冊不再是問題了。我不騙你!簡單的拷貝COM DLL你需要有DLL目錄。就可以了!resvr32是不需要的!ASP+也提供一個配置文件(以文本格式),它可以被修改成各種配置,它通常只是在IIS管理頁面中是可變的。這兩個精彩的改變是擴(kuò)展ASP+應(yīng)用程序具有競爭力的地方。
|