国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

ASP.NET移動開發入門基礎

開發 后端
這篇文章向您介紹如何進行ASP.NET移動開發,使用Visual Studio 2005創建一個ASP.NET 2.0移動程序和ASP.NET 移動控件的事件處理。

隨著硬件的飛速發展,移動設備也如同計算機設備一樣呈現出具有更好的性能、更快的處理速度和更便宜的趨勢。尤其是即將到來的3G技術,將使得移動設備突破現在的帶寬限制,這樣我們就可以構建出許多新穎且功能強大的移動應用。現在已經有許多商業應用都開始向移動設備上進行遷移,所以對開發者來說,現在就開始ASP.NET移動開發的學習將是一種非常適合的時機。

當然我不可能在這例用簡短的篇幅里探討所有的用ASP.NET移動開發應用的詳細過程。這篇文章將介紹一些基礎的知識,這樣使得你對用ASP.NET 2.0技術來開發移動應用有個大概的了解,以便你快速地深入該項技術。首先我們將學習如何使用Visual Studio 2005創建一個ASP.NET 2.0移動程序,然后介紹一些常用的移動開發控件并以適合的方式在程序中加于應用,最后你將學習的是如何開發針對特定移動設備的WEB程序和管理程序中的ViewState(視圖狀態)和Session。

創建一個新的ASP.NET 移動WEB程序

Visual Studio 2005提供了一組功能強大且友好的開發工具來創建移動WEB程序,如果你已經有創建傳統的ASP.NET應用程序的經驗,那么你就會發現創建移動WEB程序和創建傳統的ASP.NET應用程序是非常類似的。你只需要創建一個ASP.NET網站項目并添加一些移動WEB窗體即可。當你添加移動WEB窗體后,你就會發現在工具箱中添加了如下圖所示的ASP.NET移動控件。

ASP.NET 移動WEB程序

現在你可以按照如下的步驟在Visual Studio 2005創建一個新的ASP.NET移動開發的WEB程序:

1. 選擇"文件"-"新建"-"網站"

2. 在"Visual Studio已安裝的模板"列表中選擇"ASP.NET 網站"

3. 設置好程序的"位置"、"語言"和"路徑"等選項后,單擊"確定"按鈕。

ASP.NET 移動WEB程序

當你完成上述步驟后,就已經創建好了一個ASP.NET 網站。現在我們就可以在該網站中添加一些針對移動設備的WEB窗體,其具體的實現過程如下:

1. 在Visual Studio 2005的"解決方案資源管理器"窗口中選擇剛才創建好的網站項目,右鍵點擊并在彈出的菜單中選擇"添加新項"命令。

2. 在彈出的"添加新項"窗體中選擇"移動WEB窗體"項。

3. 設置窗體的"名稱"和"語言"等項,并且確保"將代碼放在單獨的文件中"選擇框處于選中狀態。

4. 單擊"添加"按鈕。
設置窗體的

當單擊"添加"按鈕后,你會發現Visual Studio 2005自動添加了兩個文件,在這里窗體名稱被設置為"MobileDefault",因此這兩個文件分別為MobileDefault.aspx 和MobileDefault.aspx.cs (如果你選擇的語言為VB的話,則這兩個文件為MobileDefault.aspx和MobileDefault.aspx.vb)。MobileDefault.aspx文件包含在窗體使用的各個ASP.NET 移動控件的聲明方式,而MobileDefault.aspx.cs則包含了一些程序實現代碼和事件處理代碼,這和傳統的ASP.NET應用程序采用的"代碼后置"的方式是一致的。

窗體添加完畢后,我們就可以使用工具箱中的"移動WEB窗體"標簽下的各個控件。如同其它的ASP.NET控件一樣,我們也可以根據需求設置這些控件的屬性和事件行為。你可以在"原代碼"窗口下直接輸入"〈 mobile: /〉"的語法方式來添加移動控件:

  1. 〈 mobile:TextBox ID="MyTextBox" runat="server" 〉  
  2. 〈 /mobile:TextBox 〉  
  3. 〈 mobile:Label ID="MyLabel" runat="server" 〉  
  4. 標簽控件〈 /mobile:Label 〉  

下圖顯示了一個放置了Label、TextBox和Command控件的移動WEB窗體。該窗體所實現的功能是根據TextBox控件中輸入的CustomerID來查找相應的用戶信息,我們并沒有編寫對應的邏輯代碼,只是顯示了該窗體的界面:

窗體的界面

Visual Studio 2005中對應的HTML代碼如下所示,我們可以看到上述的3個控件均以 〈mobile: 為前綴在頁面代碼中進行了聲明。同樣的,Form也采用了類似的方式加以聲明,見代碼7所示。在傳統的ASP.NET應用程序中處理窗體和處理控件的方式是不一樣的,這和移動WEB頁面有很大的差別。其最大的不同就是開發人員可以在同一個移動WEB頁面中創建多個窗體,并且可以在這些窗體間自由地導航而無需回發到服務器。利用該項特性可以減少因移動設備帶寬小而帶來的約束,大大減少了和服務器通訊的數據量。換句話說,移動設備中是以窗體為單位進行顯示,而不是像傳統的ASP.NET程序那樣以頁面為單位進行顯示。我們使用移動設備瀏覽不同屏的信息時,可能并沒有跳轉到不同的頁面,而是在同一個頁面的不同窗體間進行跳轉。

  1. 01 〈%@ Page Language="C#" AutoEventWireup="true"   
  2. CodeFile="MobileDefault.aspx.cs" 
  3. 02 Inherits="MobileDefault" % 〉  
  4. 03 〈%@ Register TagPrefix="mobile"   
  5. Namespace="System.Web.UI.MobileControls"   
  6. 04 Assembly="System.Web.Mobile" % 〉  
  7. 05 〈html xmlns="http://www.w3.org/1999/xhtml"  〉  
  8. 06 〈body 〉  
  9. 07 〈mobile:Form id="Form1" runat="server" 〉  
  10. 08 〈mobile:Label id="lblID" Runat="server" 〉  
  11. Customer ID〈/mobile:Label 〉  
  12. 09 〈mobile:TextBox id="txtCustID" Runat="server" 〉  
  13. 〈/mobile:TextBox 〉  
  14. 10 〈mobile:Command id="cmdGetCustomer"   
  15. Runat="server" 〉Find Customer  
  16. 11 〈/mobile:Command 〉  
  17. 12 〈/mobile:Form 〉  
  18. 13 〈/body 〉  
  19. 14 〈/html 〉 

ASP.NET移動開發中的WEB窗體的開發視圖 Visual Studio 2005的開發環境中提供了三種視圖進行ASP.NET 移動WEB窗體的設計和開發。這三種視圖分別為設計視圖、HTML視圖和代碼視圖,我們可以針對不同的開發需求在這些視圖間進行切換。現在我們就這三種視圖進行一個簡短的概要。

#p#

設計視圖

設計視圖狀態下將加載移動WEB窗體,并且自動呈現窗體中所包含的移動控件。你可以從工具箱中以拖拽的方式添加新的控件,你也可以通過屬性窗口修改已存在的控件的屬性。如果想要移除窗體中的某些控件的話,你可以點選該控件并使用"Delete"鍵進行刪除。

注意,ASP.NET移動開發的WEB窗體的設計視圖并不是一個"可見即可得"的編輯器,這是因為不同的移動設備其支持的呈現方式是不同的。例如,在設計視圖狀態下通常一行只能放置一個控件,但是在某些設備上支持在同一行放置多個控件,因此各個控件將會盡量地停靠在同一行上。正因為如此,我們還需要注意ASP.NET移動WEB窗體并不支持控件的絕對位置。

在設計器中,您可以按照希望控件顯示給用戶的順序將它們添加到窗體或面板中,但是不能定義當它們呈現在移動設備的屏幕上時所處的絕對位置。為了適應多種多樣的移動設備,ASP.NET 移動設計器使您能夠針對特定設備自定義移動 Web 窗體頁和控件的外觀。這種靈活性使您可以確保:您的應用程序在目標設備上具有適用且吸引人的外觀。

HTML視圖

HTML視圖狀態下顯示的是HTML源代碼,你可以采用直接編碼的方式設置移動控件和窗體的布局。當然我們已經很少使用這種方式進行程序的開發,你完全可以在設計視圖狀態下設置移動控件和窗體的布局,而后Visual Studio 2005會自動生成相應的頁面代碼。

你可以在Visual Studio 2005開發文檔窗體的底部選擇合適的標簽進行設計視圖和HTML視圖的切換,如圖中箭頭所示:

HTML視圖

代碼視圖

在采用代碼后置的方式下,我們可以切換到代碼視圖狀態查看頁面程序的邏輯代碼。你可以在頁面的空白出單擊右鍵,然后選擇"查看代碼"項就可以切換到代碼視圖狀態。

代碼視圖

ASP.NET移動開發控件的事件處理

和傳統的ASP.NET控件一樣,移動控件也可以在特定的狀態下激發事件,并提供了一些默認事件來處理經常發生的方案。除此之外,移動控件也可以在某些情況下激發一些其它的處理事件(非默認的事件)。傳統的ASP.NET程序中,用戶通過瀏覽器執行某些操作時會激發相應的事件,移動設備瀏覽器也采用了類似的處理方式。我們可以將一個事件通過回發的方式傳遞到服務器端,繼而引發服務器端對該事件的處理,最終的處理結果將以HTML的形式傳遞到客戶端瀏覽器。處理一個由移動控件激發的默認事件是非常容易的,我們只需在頁面中放置一個移動控件并雙擊該控件即可。下面為一個較常見的事件處理代碼,即一旦用戶單擊命令按鈕就激發其Click事件。

protected void cmdGetCustomer_Click(object sender, EventArgs e)

{……}

創建一個非默認的事件處理器也是非常容易的,我們現在無需考慮語言的相關性。如果你曾經使用過Visual
Studio 2003的話,你會發現用VB.NET來處理事件要比C#復雜。在當前的Visual Studio版本中已經將這兩種語言的操作過程進行了統一,下面的步驟就是創建一個非默認事件處理器的詳細步驟:

1. 在狀態視圖中點選要設置事件的控件。

2. 在屬性窗口中選擇事件按鈕,也就是那個帶有閃電標記的按鈕。單擊后就會在屬性窗體中顯示控件的所有的可用事件。

3. 雙擊你想處理事件的右側空白欄,這時將切換到相應事件的代碼視圖狀態。

事件的代碼視圖狀態

使用容器控件

ASP.NET移動開發的WEB窗體中提供了兩種容器控件:Form控件和Panel控件。幾乎所有的移動控件都是放置在這兩種控件之中,唯獨StyleSheet控件例外。StyleSheet控件可以單獨地放置在頁面中,該控件將會在以后的小節中進行詳細的介紹。我們可以將屬于同一組功能的移動控件都放置在一個容器控件中,這樣使得程序的頁面結構更加的清晰。我們還可以為一個容器控件設置特定的樣式表,所有位于該容器的移動控件將會具有一致性的用戶體驗。注意,在頁面中添加的容器控件是沒有固定大小的,因為它將隨著你在其中放置的控件而自動地進行調整,因此我們不可以顯式地為容器控件指定一個特定的大小。

ASP.NET 移動WEB窗體對所有的控件都使用線性布局,即每行只放一個控件。這是因為眾多的移動設備之間存在巨大的差異,尤其是一些支持WML的設備并不支持控件的并排顯示。但是如果強制使用許多控件都支持的BreakAfter屬性的話,則有相應的顯示能力的設備上將啟用并排顯示的布局。另外,它會自動適應不支持并排呈現的設備的呈現規則。將 BreakAfter 屬性設置為 false 將指示 ASP.NET 在所有具備相應顯示能力的設備上并排放置控件。為了適應多種多樣的移動設備,ASP.NET 移動設計器使您能夠針對特定設備自定義移動 Web 窗體頁和控件的外觀。我將在后面的"設備篩選器"小節中詳細介紹如何開發針對特定設備的應用程序。

Form控件

所有的內容和控件都包含在Form控件中,而且每個ASP.NET 移動WEB頁面至少要包含一個Form控件,并且該頁面可以包含多個Form控件。但是,當這些控件顯示在移動設備上時,移動 Web 應用程序一次只能顯示一個移動Form 控件。當你添加一個移動WEB窗體時會自動在頁面上創建一個默認的Form控件。如果你需要在頁面中添加多個Form控件時,可以在工具箱中直接拖拽出。

Form控件 

用戶瀏覽到某移動Web窗體頁時,默認情況下將顯示該頁面上的第一個Form控件。你也可以通過編碼的方式直接在頁面的Page_Load事件中指定一個Form控件為當前的活動窗體。當然你也可以采用編碼的方式并且根據用戶的輸入信息導航到相應的Form控件上。在同一個頁面的不同Form控件之間導航并不需要通過服務器的處理,因此可以極大地提高程序的響應速度。將一個頁面組織成多個Form控件還有個優點,那就是可以在不同的Form控件間傳遞一些豐富的狀態信息。因為一個頁面上的所有 Form 控件都共享相同的代碼隱藏文件和頁面狀態信息,因此各個Form 控件都可以共享相同的方法和成員。

由于ASP.NET移動WEB程序通常是在一些小屏幕的移動設備上運行的,為了適應這種特定的顯示環境,你需要將一個普通的ASP.NET WEB頁面分解成多個移動WEB頁面。如果沒有Form控件的話,這種分解過程是非常繁雜的,因為你需要在ASP.NET WEB頁面和移動WEB頁面間建立一個一對多的映射,這樣使得程序難以維護。

最合適的方式就是在一個移動WEB頁面放置多個Form 控件,這樣使得ASP.NET WEB頁面和移動WEB頁面是一個一對一的鏡像關系。在面對數據量較大的移動WEB頁面時,將所有的Form控件在頁面初始化時就全部加載到移動設備的響應時候是相當長的。但是一旦加載到移動設備后在各個Form控件進行導航的速度又是非常快的,因為一切信息都存放在本地的內存中。這種頁面的加載方法總體上還是利大于弊的,開發人員可以根據實際的需求加以權衡,而且同一頁面上的所有Form控件可以共享相同的代碼隱藏文件和頁面狀態信息。

Panel(面板)控件

使用 Panel 控件可將窗體中的控件進行分組。這使您可以對整個組應用 StyleSheet 控件。面板還能幫助應用程序確定分頁。ASP.NET 會盡量將一個面板中的所有控件都同時顯示在屏幕上。

Panel(面板)控件

若要將面板添加到應用程序中,請從"工具箱"中將其拖放到應用程序。面板中的所有控件都繼承該面板的樣式。可以將面板插入Form控件或其他面板中。應用程序隱藏或顯示面板時,它將對該面板包含的控件應用相同的操作。此外,應用程序還可將面板控件用作動態創建的控件的容器。

Panel控件必須放在Form控件中、另一Panel控件中或控件模板中。除StyleSheet控件、DeviceSpecific控件和Form控件外,所有其他控件也都必須放在Form或Panel控件中。

【編輯推薦】

  1. 介紹ASP.NET MVC框架
  2. 配置ASP.NET AJAX概述
  3. 安裝ASP.NET AJAX的過程
  4. ASP.NET頁面請求原理淺析
  5. ASP.NET頁面靜態化四步走
  6. 淺析ASP.NET授權模塊
責任編輯:冰荷 來源: yesky
相關推薦

2009-08-04 16:33:50

ASP.NET移動開發

2009-07-27 12:22:03

ASP.NET和ASPASP.NET入門教程

2009-07-24 15:41:00

ASP.NET編程入門

2009-08-03 15:08:00

SqlDataSour

2009-07-24 10:14:22

ASP.NET開發

2009-08-07 14:42:02

ASP.NET控件開發

2009-08-10 18:46:07

ASP.NET基礎語法

2009-08-04 16:09:38

ASP.NET入門

2009-08-27 16:59:20

ASP.NET用戶控件

2009-08-06 18:18:27

ASP.NET控件開發ASP.NET復合控件

2009-08-06 13:08:23

ASP.NET控件開發

2009-08-05 10:36:08

開發ASP.NET

2009-08-04 10:43:59

ASP.NET控件開發

2009-08-17 16:59:36

ASP.NET緩存機制

2009-07-28 17:17:19

ASP.NET概述

2009-08-03 14:22:33

什么是ASP.NET

2009-07-22 17:45:35

ASP.NET教程

2009-08-07 13:31:41

ASP.NET控件開發

2009-08-07 10:34:56

ASP.NET控件開發

2009-02-23 15:20:03

SQL Server數據庫ASP.NET
點贊
收藏

51CTO技術棧公眾號

欧美精品色图| 日韩精品免费在线| 久久精品午夜一区二区福利| 国产成人福利片| 久久精品无码一区二区日韩av| 欧美日韩电影在线| 麻豆精品在线| 久久国产欧美精品| 国产精品护士白丝一区av| 91成人高清| 欧美黄色片视频| 视频一区二区三区中文字幕| 男女人搞j网站| 亚洲精品动漫100p| 91视频久久| 密臀av一区二区三区| 欧美一级爆毛片| 精品日韩免费| 成人国产在线看| 色综合一个色综合| 全球最大av网站久久| 国产乱子伦精品| 国产精品的网站| 欧美羞羞视频| 国产亚洲精品美女久久久m| 国产精品免费人成网站| 欧美freesex| 欧美高清性xxxxhd| 偷拍一区二区三区| 6080成人| 欧日韩免费视频| 日韩视频在线永久播放| 91亚洲一区| 欧美wwwwwww| 久久九九亚洲综合| 国产一区二区三区免费看 | 国产丝袜一区二区三区免费视频| 日韩成人三级| 91精品国产aⅴ一区二区| 日韩精品不卡一区二区| 色哟哟精品视频| 日韩在线观看免费av| 免费成人在线观看| 视频一区二区三区不卡| 91精品免费视频| 亚洲综合激情另类小说区| 日韩激情精品| av观看免费在线| 久久精品视频在线观看| 国产福利一区二区三区视频在线 | 国产亚洲美州欧州综合国| 成人影院大全| 中文一区一区三区免费| 精品盗摄一区二区三区| 日韩影院精彩在线| 欧美日韩经典丝袜| 亚洲成人a**址| 亚洲电影免费观看高清完整版在线观看| 亚洲免费网站| 久草在线视频福利| 一区二区国产日产| 国产亚洲xxx| 丁香啪啪综合成人亚洲小说| 欧美gay囗交囗交| 午夜久久久久久久久久久| 亚洲国产精品一区二区久| 久久99精品国产.久久久久久| 玖玖在线播放| 成年女人18级毛片毛片免费| 色偷偷噜噜噜亚洲男人的天堂| 91欧美激情一区二区三区成人| 亚洲精品观看| 激情六月婷婷| 草莓视频一区| 日韩精品专区在线影院重磅| 日本不卡一区二区三区高清视频| av影视在线| 欧美 日韩 国产在线观看| 欧美成人国产va精品日本一级| 中文字幕日本不卡| 色综合天天综合网中文字幕| 黄色片在线看| 亚洲ai欧洲av| 一区二区欧美久久| 国产丝袜美腿一区二区三区| 亚洲理论电影片| 免费福利在线视频| 亚洲第一导航| 欧美精品一区三区| 亚洲一区二三区| 在线亚洲自拍| 欧美日韩免费观看视频| jizzjizzjizz亚洲日本| 91亚洲精品久久久| 5月丁香婷婷综合| 成人听书哪个软件好| 国产精东传媒成人av电影| 一本二本三本亚洲码| 成人a区在线观看| 亚洲承认视频| 国产一区红桃视频| 性高湖久久久久久久久| 亚洲91av| 无罩大乳的熟妇正在播放| 色综合久久悠悠| 亚洲精品v日韩精品| 欧美日本三区| 欧美××××黑人××性爽| 日本888xxxx| 99久久精品久久久久久ai换脸| 欧美精品一区二区精品网| 97久久超碰精品国产| 国产成人一区二区三区影院| 免费黄色网页在线观看| 黑人糟蹋人妻hd中文字幕| 国产ts一区二区| 欧美一区二区三区影视| 久久久久久久久久久电影| 欧美精品大片| 国产精一区二区| 91在线免费看| 国产精品天天av精麻传媒| 成人免费观看网站| 久久精品福利视频| 91国偷自产一区二区三区观看 | 亚洲视频1区| 日韩中文字幕无砖| 免费黄色在线| 久热精品在线观看视频| 免费一区二区三区| 海角国产乱辈乱精品视频| 偷偷www综合久久久久久久| 黄色小网站在线观看| 日本免费观看网站| 亚洲欧洲在线一区| 国产精品一区二区在线| 亚洲最新av网址| 欧美性猛片aaaaaaa做受| 国产免费成人在线视频| 日本中文字幕一区二区视频| 国产亚洲成av人片在线观黄桃| 在线播放免费av| 最近2018中文字幕免费在线视频| 国产成年人在线观看| 91精品在线影院| 久久久久久久久网站| 精品av久久707| 一本色道久久综合亚洲aⅴ蜜桃| 国产亚洲视频系列| 久久精品国产亚洲高清剧情介绍| 欧美国产美女| 精品综合久久88少妇激情| 三级中文字幕在线观看| 黄色电影免费在线看| 精品久久久噜噜噜噜久久图片| 亚洲国产欧美日韩| 国产一区视频在线播放| 欧美日韩国产成人在线| 日韩成人性视频| 欧美精品乱码久久久久久按摩| 中文字幕亚洲欧美在线不卡| 成人做爰69片免费看网站| 天堂成人免费av电影一区| 日韩精品网站| 天堂资源在线亚洲| 亚洲精品在线国产| 欧美高清免费| 国产v综合v| 午夜欧美巨大性欧美巨大| 污污在线观看| 尤物视频在线免费观看| 中文有码在线观看| 国产丝袜高跟一区| 9191久久久久久久久久久| 狠狠色噜噜狠狠狠狠97| 国产精品成人免费精品自在线观看| 99精品黄色片免费大全| 国产剧情在线观看一区二区| 水野朝阳av一区二区三区| 亚洲第一黄色| 欧美午夜久久| 欧美午夜国产| 亚洲欧洲日本一区二区三区| 欧美在线亚洲综合一区| 久久久久免费av| 伊人久久大香线| 欧美成人一区二免费视频软件| 水蜜桃久久夜色精品一区| 教室别恋欧美无删减版| 欧美最新另类人妖| 成人婷婷网色偷偷亚洲男人的天堂| 日韩精选在线| 精品网站aaa| 国产精品中文字幕亚洲欧美| 亚洲人和日本人hd| 欧美中文字幕一区二区| 99热在线成人| 激情婷婷亚洲| 日韩av二区在线播放| 久久福利视频一区二区|