http://www.aspcn.com 飛刀
ASP+ 的移動控制 如果媒體的新聞和廣告是可以相信的話,我們在不久的將來會使用很小的電話或者其它手機設備來訪問互聯網。OK,這只 是一個比較樂觀的估計,但是有一點是可以肯定的,那就是訪問您站點的訪問者已經有很多人不是在使用傳統的瀏覽器 了,而且這個數字還在不斷的增加(新浪消息:據統計,全球手機用戶已經超過電腦用戶,而且30%的手機具有WAP功 能)。為了適應各種型號的手機(包括那些很小的電話),ASP+提供了一款引以自豪的服務控制用于產生WML,而不是 HTML。在這篇文章里,我們將對這個微軟還在開發中的控制來個小小的觀察。這篇文章同樣也會考慮一些其它的用戶瀏覽 設備,比如置頂盒,甚至是電冰箱(哈哈,是不是感覺有些天方夜潭)。
ASP+入門 有很多種方法能夠創建動態頁面。在過去,最突出的技術就是使用可執行的程序通過Common Cateway interface(CGI)去訪 問WEB服務器。但是,在近些年中,一些新的技術能夠讓腳本代碼直接寫入HTML頁中,而且這些技術現在變得越來越流行。 在這些技術中有Perl,Java Server Page (JSP)以及微軟的Active Server Pages(ASP)。
ASP開始時只是一個能夠通過Internet Server Application Programming Interface(ISAPI)來訪問WEB服務器的DLL,換句 話說就是一個ISAPI DLL.這種接口提供了一個與服務器快速而有可靠的聯結。這些代碼在同一個進程或者內存空間中運 行。使用這種技術,ASP進化到了3.0,并且會作為Windows 2000的一部分來安裝。
進入 .NET 的世界(微軟帶給我們的新概念) 根據微軟.NET Frameword的介紹,基礎的ASP的設計已經改變。這種新的結構已經完全脫離了當前程序運行的語言以及操作 系統指定結構的限制。
在今天,大多數的編程語言是直接能過本地的代碼(這些代碼已經在進程中執行,通俗說就是編繹器)來編繹原始代碼。 因此這種編譯必須依賴于處理器的類型。舉個例子,在intel處理器上編譯的代碼將不能在Motorala的處理器上運行。
關于這個,有一個例外,那就是Java,它使用一種獨立的virtural machine來執行代碼,這個代碼是根據指定的處理器和操 作系統來編譯的。只要在目標機上有合適的Java Virtual Machine,那么代碼就能執行。
微軟的.NET Framework是一個與JAVA極其相似的但是作用更為廣泛的框架。它提供了一個完全的開發和運行環境,它能運 行程序。這些代碼會被編譯成一個特殊的Intermediate Language(IL).所有的源代碼都被編譯成IL代碼而不用考慮代碼所 用的語言。
因些代碼不管是用VB,還是VC,還是JScript或者是新的C#,都會被編譯成同樣的IL代碼。這些編譯器已經作為.NET Framework的一個部分被包含。
The ASP+ Framework
為了結合ASP技術與.NET框架,微軟開發了一個開發系統用于提供一種更快的動態網頁開發。同時這個運行環境也會變得更 加有效率,升級性也有很大的提高。這個技術叫做Active Server Page+,或者干脆叫ASP+
ASP+是如何工作的? ASP+最主要的新特點是應用程序與頁面事件模塊的結合。ASP+是這個新代碼處理環境的一部分。這就是說,這種新技術能 對事件做出反應,比如頁面的Loading或者是應用的啟動,這些ASP+都能通過事件來處理。
這種后臺執行的結構會對頁面來說是非常有用的。一般來說這個頁面包括一個 標簽以及其它一些HTML元素,但是這些元素會在具有ASP+環境的服務器上執行。ASP+不僅向瀏覽器(客戶端)輸出被要求 的HTML,而且還加入了一些額外的東東在里面以維持每個控制的值(用以回傳給服務器),這種概念很奇怪,但是我們得 接受啊。就像我們接受ASP一樣的。
同時因為ASP+通過額外的代碼和屬性控制著頁面的行為方式,所以ASP+就能做更多好玩的事情。因為頁面是在服務器上創 建的,這個ASP+引擎能夠查覺到這個form是如何被提交的,也就是說能夠偵察到用戶是按了哪種button按鈕。
ASP+允許服務器端事件的使用(這可是個新概念)。我們會在下面的例子中看到,通過指定的事件來處理問題。
這種特殊的HTML元素請求是這種新后臺結構的基礎,它的真名是ASP+ Server Controls(ASP+服務控制)。在標準的ASP+ 中有很多種這樣的控制。你能夠使用VB或其它.NET支持語言來編寫、繼承、擴展這種控制。
什么是ASP+移動控制? 現在一個令網絡開發者很能關心的問題就是快速增長的移動設備市場,F在已經有上百種不同類型的設備出現了,這些產 品中沒有一種能夠和傳統PC上的瀏覽器相兼容。這個范圍包含但是不僅限制于"無線設備"。同樣的有掌上電腦,以及我們 的電視,還有游戲控制臺,這一些現在都可以上網瀏覽了。
這些設備中的大多數不支HTML,同樣不支持顏色,字體,定位,聲音以及其它各種元素的改變。因此,為你的站點創建一 個HTML的頁面,并不能解決所有的問題。因此我們就得為創建一個能為大部分設備所顯示的頁面。(嘿嘿,想想,如果一種 設備寫一種頁面,那您。。。。)
為了提供這種屬性,微軟介紹了一種叫做移動控制的東東,它能夠根據不同的設備創建不同的頁面。如果是WAP手機瀏覽, 他就會創建WML代碼,如果是掌上電腦瀏覽就會創建HTML代碼,IE等傳統瀏覽器就不用說咯。
這個控制的重點是能夠智能化地創建不同的輸出,而您對不同的設備卻使用同一代碼。比如,list控制會在手機、掌上電 腦、PC上顯示同一個list菜單,但是他們輸出顯示時所使用的代碼卻是不同的。
有了他,程序員就可以開發程序時不用考慮客戶使用的設備了。
移動控制能做些什么呢!? 現在我們看看移動控制到底能做什么:
移動控制的范圍 當前版本的移動控制下面的屬性是有效的:
MobilePage 如同WML中的deck Panel 如同WML中的card Form 啟用用戶輸入控制 Label 在頁面中輸出文字 Command 創建一個鏈接 TextBox 文本輸入框 List 如同select RequiredFieldValidator 對用戶輸入進行檢查 RegularExpressionValidator 使用用戶輸入生效 Stylesheet 指定輸出格式 在以后的版本中還有一個SelectionList控制,功能與list大致相同。
設置此組件 建立一個移動控制很簡單,雖然這些具體的技術一直在變,但是這些控制還是一個DLL文件,把他拷貝到就用開發環境目錄 的bin子目錄下。當然這個應用也必須是虛擬目錄。
第二步,就是把例子文件config.web加到應用目錄下去,如果這個文件已經存在那就把文件的這一段的內容加進去。它通 過BrowserCapabilities控制來判斷哪種格式和語言將要發到用戶端去。
在目前的版本中,移動控制只支持WAP手機中的WML,以及HTML。以后的版本支持的就多了。比如XHTML,HDML,cHTL等等。
|