asp網路編程:建立移動Web應用程式

來源:互聯網
上載者:User

標籤:http   io   ar   os   使用   for   sp   strong   檔案   

介紹

現今行動裝置已成為我們生活中的一部分,我們當中的許多人已離不開它們。當這些行動裝置串連到Internet時,行動裝置的力量將無窮無盡。我們可以在任何時間地點給使用者發送資料。典型的行動裝置 App程式是在伺服器上使用WML, WMLScript和WBMP開發的。

對於動態WML應用程式,開發人員可以使用ASP, JSP, PHP等等。行動裝置包括蜂窩電話、呼叫器、掌中瀏覽器、袖珍PC和車載PC。這些裝置中少數支援WML,少數支援HTML,更少數支援同時支援WML和HTML。如果你想確保你的應用程式能在大多數的行動裝置中使用,你必須以WML和有限的HTML建立應用程式。

最近Microsoft提出了一個革命性的應用程式開發平台—.NET 架構。.NET 架構套件括用於Web開發的ASP.NET(下一版本的ASP)。基於ASP.NET的Web開發即支援傳統的Web用戶端如IE和Netscape,又支援移動用戶端如Phone.com, Nokia 蜂窩電話和袖珍PC。ASP.NET應用程式可以在任何.NET支援的語言環境下如VB.NET(下一版本的VB),JScript, C++, C#等等語言環境下進行開發。在這篇文章中,我們將看到如何使用.NET Mobile Web SDK, ASP.NET和 VB.NET看法行動裝置 App程式。

.NET介紹

在深入之前,我想給你簡要地介紹一下.NET。.NET是一個由Microsoft在2000年專業開發人員會議上提出的發展中的開發平台。下面的圖表展示了.NET 架構應用程式開發的簡單結構。

 

 

當一個ASP.NET的頁面請求從一個Web用戶端如IE或行動裝置發出時,IIS會收集請求並把它傳遞給.NET 架構。如果ASP.NET的頁面是首次請求,那麼.NET 架構將把ASP.NET編譯成中繼語言(intermediate language,IL)。然後IL代碼將被即時(Just-In-Time,JIT)編譯器編譯成本地代碼。就象你所看到的,.NET 架構是整個ASP.NET應用的核心。.NET 架構將提供必須的資源和你所選擇由於編譯代碼的語言編譯器。

開發所必須的條件

要使用.NET開發行動裝置 App程式,你必須下載和安裝如下的組件。IE和.NET SDK可以從 Microsoft MSDN site 免費下載。

1. Windows 2000 Professional/Server/Advanced Server OS

2. Internet Explorer 5.5

3. .NET framework Beta 1

4. .NET Mobile Web SDK Beta 1

5. WAP模擬器

讓我們開始吧!

要使用.NET開發行動裝置 App程式,必須包含由.NET Mobile Web SDK提供(通過MobileUI.DLL檔案)的 Mobile Web名域(System.Mobile.UI)。對於那些對namespace(名域)一詞感到陌生的人來說,名域就象C++的標頭檔和Visual Basic的引用。名域將提供開發應用程式所要求的類。

使用.NET 架構開發行動裝置 App程式是很容易的。

1. 建立一個ASP.NET頁面

2. 包含Mobile Web Namespace--System.Mobile.UI

3. 用Mobile控制項設計頁面

就是那麼簡單。

Mobile 控制項

Mobile控制項是為開發行動裝置 App程式而設計好的程式塊。對於那些喜歡使用象VB和Frontpage等這樣的整合式開發環境(IDE)來開發GUI/Web的人來說,Mobile 控制項就與HTML的按鈕控制項和VB的Grid控制項相類似。Mobile控制項通過提供者員所需要的功能來簡化程式的開發過程。

例如,如果你想畫一個WML Card標記符,你可以使用Mobile Form控制項。對於所有的WML標記符都提供了相應的Mobile 控制項。Mobile 控制項吸引人之處就在於,它們不僅限用於WML標記符;相反,它們超越了WML標記符,可以建立有用的Mobile 控制項,如在WML無法實現的日曆Mobile 控制項。

讓我們看一看一個顯示“Hello World!”的ASP.NET頁面例子。

〈%@ Page Inherits="System.Mobile.UI.MobilePage"〉 
〈%@ Register TagPrefix="Mobile" Namespace="System.Mobile.UI"〉 
〈Mobile:Form runat="server"〉 
〈Mobile:Label runat="server"〉Hello, World!〈/Mobile:Label〉 
〈/Mobile:Form〉 

循序漸進—理解ASP.NET頁面

1. 在第一行裡,給ASP.NET頁面對象繼承了Mobile Web名域。如果不這樣做,ASP.NET就會遵循普通Web應用程式的頁面處理常式。

2. 在第二行裡,為Mobile Web名域註冊了一個標記符首碼。你可以看到在剩下的代碼中,對所有的Mobile 控制項都使用“Moblie”這個關鍵字作為名域首碼。你可以使用任何你想的名字作為標記符首碼。

3. 在第三行裡,建立一個Mobile表單並把它的runat屬性設定為server。

4. 在第四行裡,建立一個Mobile label控制項和“Hello World”文本。

5. 最後一行,關閉Mobile表單標記符

運行以上例子,觀看結果。

 

 

以上就是例子在Phone.com模擬器顯示的效果。現在再讓我們看一看ASP.NET產生的程式碼:

 

 

是不是很Cool?ASP.NET為我們產生代碼,Mobile Form控制項已經被轉換為WML card標記符;同樣地,Mobile Label控制項被轉換為WML paragraph標記符。

讓我們看一看在Pocket IE中又會怎樣:

 

 

再讓我們看一看ASP.NET為Pocket IE產生的程式碼:

〈html〉 
〈body〉 
〈form id="ctrl1" name="ctrl1" method="post" action="Exp1.Aspx?631169274439268880"〉 
〈div〉Hello, World!〈/div〉 
〈/form〉 
〈/body〉 
〈/html〉

ASP.NET為Pocket IE產生HTML代碼。的確,Mobile 控制項有能力探測到所使用的瀏覽器並產生所支援的代碼。所以,當在WAP模擬器中開啟一個ASP.NET頁面時得到的是WML代碼。而在袖珍PC中開啟時得到HTML代碼。這樣就給我們開發一次服務任何行動裝置的能力。很Cool,不是嗎?

行動裝置 App程式設計概念

NET Mobile Web SDK提供了三個容器物件:MobilePage, Form 和Panel。MobilePage控制項是行動裝置 App程式的重要容器。一個單獨的MobilePage可以有一個或多個Form控制項。一個Form控制項可以有0個或多個Panel控制項。Panel控制項用於給各種Mobile控制項分組。

.NET Mobile Web SDK 中Mobile控制項

Mobile控制項可以被分為三個主要的組。它們是使用者介面(UI)控制項,驗證(Validation)控制項和功能(Utility)控制項。使用者介面控制項是如Lable控制項一樣允許使用者控制使用者介面的一組控制項。驗證控制項允許我們驗證使用者的輸入如RequiredFieldValidator控制項,這些控制項在向伺服器發送資料之前驗證使用者輸入的資料。功能控制項是諸如日曆控制項這一類的控制項。

以下表格展示了以上各個類別的控制項。

UI控制項

控制項名描述Command一個Command控制項執行諸如提交資訊之類的動作FormForm控制項是一個或多個mobile控制項的容器Image在行動裝置中顯示圖象Label在行動裝置中顯示輸出文本Link在表單中建立一個超連結List在行動裝置中顯示一個選項列表MobilePage控制所有mobile控制項的容器TextBox顯示單行的文字框Textview顯示多行的文字框

驗證控制項

控制項名描述CompareValidator比較兩個mobile控制項CustomValidator自訂的檢驗器允許從控制項中調用自己的檢驗過程RangeValidator限制檢驗器在一個範圍內檢測資料RegularExpressionValidator檢測與控制項指定的運算式不符的資料RequiredFieldValidator檢測使用者在這一地區輸入的資料ValidationSummary顯示一個所有發生的檢驗過程的報告

功能控制項

控制項名描述Call撥打一個電話號碼Calendar顯示一個日曆AdRotator隨機顯示一個廣告

自動分頁是.NET Mobile Web SDK的優勢之一。.NET遠行時會處理目標裝置的頁面顯示問題。對於不同的Mobile控制項會採取不同的分頁處理形式。例如,對於List控制項,分頁由該控制項的PageSize屬性處理。這個屬性根據目標裝置自動化佈建。當在運行時顯示頁面時,panel控制項裡的控制項就會呆在一起。

一個簡單的例子

讓我們寫一個簡單應用程式,顯示一個文字框接受輸入並在下一個表單中顯示。

〈%@ Page Inherits="System.Mobile.UI.MobilePage" %〉 
〈%@ Register TagPrefix="mobile" Namespace="System.Mobile.UI" %〉 
〈Script language="VB" runat="server"〉 
Sub Btn_OnClick(Src As Object, E As EventArgs) 
‘move to the next mobile form 
ActiveForm = frm2 
‘display the name. 
EnteredName.Text = "Your name is: " & YourName.Text 
End Sub 
〈/Script〉 
〈mobile:Form id="frm1" runat=server〉 
〈mobile:Label runat=server〉Your Name:〈/mobile:Label〉 
〈mobile:TextBox runat="server" id="YourName" /〉 
〈mobile:Command runat="server" id="btn" OnClick="Btn_OnClick"〉Ok 
〈/mobile:Form〉 
〈mobile:Form id="frm2" runat=server〉 
〈mobile:Label runat="server" id="EnteredName" /〉 
〈/mobile:Form〉 
在以上的代碼中,建立了兩個表單。第一個表單的id為frm1, 第一個表單的idfrm2。之所以使用這個方法是因為Mobile Form控制項不支援name屬性,而支援id屬性。ASP.NET運行時就是通過這樣的方法來確認表單的。在第一個表單中,添加了一個lable控制項,一個textbox控制項和一個button控制項。當點擊button時,伺服器端的VB子程式(Btn_OnClick)就被調用。這對於那些熟悉VB的人來說就象在家裡一樣親切。在處理VB子程式的事件裡,通過給frm2設定ActiveForm方法來跳到下一個表單。然後訪問定義在frm2中lable控制項並設定使用者提交的值。

 

以下就是以上代碼在Phone.com模擬器和Pocket IE模擬器中的顯示螢幕:

 

 

 

 

 

 

 

 

以下是ASP.NET為Phone.com模擬器產生的程式碼:

 

 

 

 

 

就象你所看到的ASP.NET產生白藥的WML代碼來處理使用者的文本輸入並發送到伺服器端。它同樣也產生WML代碼以在下一個WML card中顯示使用者輸入的名字。

.NET Mobile Web SDK的優勢與限制

這裡有一些使用Mobile Web SDK的優勢與限制。

優勢:

1. 不需要檢測瀏覽器和根據目標裝置發送WML或HTML

2. 要學的只是ASP.NET和.NET Mobile控制項,而不必學WML

3. Visual Studio.NET易用的編程模式拖放的應用程式開發

4. 支援伺服器端事件處理

5. 支援自動分頁

限制:

1. 只限在Microsoft產品和作業系統中使用

2. 當WML或HTML的新版本發布,你只有等Microsoft宣布它的新版Mobile Web控制項的發布

支援的裝置

.NET架構還在發展之中。目前,.NET Mobile Web SDK已經在如下的裝置中進行了完全的測試:

內嵌Microsoft Pocket Internet Explorer 4.5的袖珍PC

Mitsubishi T250行動電話

Nokia 7110行動電話

Nokia 7110的Nokia WAP Toolkit 2.0 Beta 模擬器

.NET Mobile Web SDK在如下的準備中進行過有限的測試:

Samsung觸點行動電話

Sony CMD-z5行動電話

Microsoft Mobile Explorer v 2.01 模擬器

l Phone.com UP.SDK 4.0模擬器

Phone.com UP.SDK 3.2 for WML模擬器

還有許多其他的支援裝置,但是沒有在.NET Mobile Web SDK條件下進行過測試。

總結

在這篇文章中展示了.NET Mobile Web SDK的效能和NET Mobile Web SDK如何支援不同的裝置。也看到了一個使用.NET Mobile Web SDK產生行動裝置 App程式的例子。想獲得更多的關於. NET Mobile Web SDK的資訊,請查看以下的相關連結上海治療陽痿醫院

asp網路編程:建立移動Web應用程式

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.