移動控件介紹及詳細使用方法(看了這些你就基本會wap開發了)
在以前學習的有關ASP.NET 和 Web 窗體的知識可以幫助您快速地使用移動控件來構建移動 Web 應用程序。現在我們就開始ASP.NET 移動控件的學習之旅吧。
AdRotator控件
AdRotator 移動控件和傳統的ASP.NET程序中的AdRotator控件是非常類似的。該控件的主要功能是用來隨機並循環顯示一組廣告橫幅。AdRotator控件會自動進行循環處理,每刷新一次頁面就隨機地改變顯示內容。我們還可以對廣告進行優先級控制,從而使得某些廣告的顯示頻率高於其他廣告。當然你也可以使用自定義邏輯來循環顯示廣告。
AdRotator移動控件提供了一些非常重要的屬性,這樣就可以設置廣告的一系列信息,包括廣告圖片的路徑和圖片的鏈接等。下表列舉的則是AdRotator移動控件的一些重要屬性:
屬性 說明
AdvertisementFile
獲取或設置包含廣告數據的XML文件的路徑。該廣告文件包括一系列基於XML格式的廣告信息,例如Image URL、Navigate URL、Impressions、StartDate和EndDate等屬性
ImageKey 返回廣告文件中檢索到的Image URL的元素名
NavigateUrlKey 獲取或設置廣告文件中檢索到的Navigate URL的元素名
清單1顯示的是AdRotator移動控件的基於XML的廣告配置文件。我們可以通過該配置文件為一個AdRotator移動控件設置兩幅圖片,然後在頁面加載時隨機地顯示出廣告圖片。Impressions節點表示圖片顯示的機率,如天極網絡的機率為2000/2000+1000=2 /3。StartDate、EndDate表示圖片顯示的開始和結束日期。
清單1:廣告配置文件 AdRotator.xml
< ?xml version="1.0" encoding="utf-8" ?>
< Advertisements>
< Ad>
< ImageUrl>images/yesky.gif< /ImageUrl>
< NavigateUrl>http://www.yesky.com< /NavigateUrl>
< AlternateText>天極網絡< /AlternateText>
< Keyword>Community Leader< /Keyword>
< Impressions>2000< /Impressions>
< StartDate>5/19/05< /StartDate>
< EndDate>7/18/05< /EndDate>
< /Ad>
< Ad>
< ImageUrl>images/sina.gif< /ImageUrl>
< NavigateUrl>http://www.sina.com< /NavigateUrl>
< AlternateText>新浪網< /AlternateText>
< Keyword>User Group< /Keyword>
< Impressions>1000< /Impressions>
< StartDate>5/30/05< /StartDate>
< EndDate>7/5/05< /EndDate>
< /Ad>
< /Advertisements>
現在我們可以使用AdRotator移動控件顯示XML文件中的廣告信息,你只需設置AdRotator移動控件的AdvertisementFile屬性為清單1的AdRotator.xml文件即可。
清單2:AdRotatorDefault.aspx
< %@ Page Language="C#" AutoEventWireup="true" CodeFile="AdRotatorDefault.aspx.cs" Inherits="AdRotatorDefault" %>
< %@ Register TagPrefix="mobile" Namespace="System.Web.UI.MobileControls" Assembly="System.Web.Mobile" %>
< html xmlns="http://www.w3.org/1999/xhtml" >
< body>
< mobile:Form id="Form1" runat="server">
< mobile:AdRotator ID="AdRotator1" Runat="server" AdvertisementFile="~/AdRotator.xml">
< /mobile:AdRotator>
< /mobile:Form>
< /body>
< /html>
Calendar控件
Calendar(日歷)控件通常是用來實現日期的選擇功能,你可以從工具箱拖拽一個Calendar控件到移動WEB Form控件上。Calendar控件在默認狀態下通常顯示當前月,如果要改變默認的顯示日期的話,你可以設置Calendar控件的 VisibleDate屬性。還有一個重要的屬性就是SelectedDate,它可以在Calendar控件上選定一個指定的日期。
SelectionMode 屬性用來獲取或設置Calendar控件的日期選擇模式。默認的設置為Day,這樣用戶就可以在 Calendar 控件上選擇單個日期。你還可以設置該屬性的日期選擇模式為DayWeek或DayWeekMonth。DayWeek設置允許用戶在Calendar控件上選擇選擇單日或整周,DayWeekMont設置允許用戶在Calendar控件上選擇單個日期、周或整月。你可以在設計階段更改這些設置,也可以在運行時通過代碼更改這些設置。當用戶改變了當前選中的日期時,將會激發一個Calendar控件中的SelectionChanged事件。下表是 Calendar控件的一些常見屬性:
屬性 說明
FirstDayOfWeek 在日歷的第一列中顯示一周中的某一天
SelectionMode 該屬性允許用戶將日歷控件的選擇模式設置為單個日期、周或整月。該屬性的枚舉值為:None、Day、DayWeek和 DayWeekMonth.
SelectedDate 該屬性用來獲取或設置當前選定的日期。我們可以在設計階段設置該屬性值,也可以在運行時改變該值。
VisibleDate 指定要顯示月份的日期,移動設備默認狀態下將會直接在當前的屏幕中顯示該日期。所以該屬性和SelectedDate是截然不同的。
現在我們來用Calendar 控件實現一個簡單功能。當用戶在Calendar控件中選取了一個日期後,該日期將會在一個文本框中進行顯示。
清單3:CalendarDefault.aspx
< %@ Page Language="C#" AutoEventWireup="true" CodeFile="CalendarDefault.aspx.cs" Inherits="CalendarDefault" EnableViewState="true"%>
< %@ Register TagPrefix="mobile" Namespace="System.Web.UI.MobileControls" Assembly="System.Web.Mobile" %>
< html xmlns="http://www.w3.org/1999/xhtml" >
< body>
< mobile:Form id="Form1" runat="server">事件日期< br />
< mobile:TextBox id="txtEventDate" runat="server">< /mobile:TextBox>
< mobile:Calendar id="EventCalendar" FirstDayOfWeek="Sunday" Runat="server"
OnSelectionChanged="EventCalendar_SelectionChanged">
< /mobile:Calendar>
< /mobile:Form>
< /body>
< /html>
清單4:CalendarDefault.aspx.cs
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.Mobile;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.MobileControls;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
public partial class CalendarDefault : System.Web.UI.MobileControls.MobilePage
{
//當日歷中的選擇日期發生改變時激發SelectionChanged事件
//並且將現在所選擇的日期顯示在文本框中
protected void EventCalendar_SelectionChanged(object sender, EventArgs e)
{
txtEventDate.Text = EventCalendar.SelectedDate.ToShortDateString();
}
}
Label控件
Label控件用來在移動設備中顯示只讀的、基於文本的信息。你可以通過屬性窗口的 Text屬性來設置相應的文本信息,你也可以通過編碼的方式進行動態的改變。如果你的文本信息過長而屏幕無法在一行進行整體顯示的話,你就可以設置 Wrapping為Wrap,這使得文本信息可以自動地分行進行顯示。下表是Label控件的一些常見屬性:
屬性 說明
Wrapping
如果Label控件的文本信息過長的話,可以設置該屬性將信息分為多行進行顯示。其枚舉值有:NotSet、 Wrap 和 NoWrap.
Alignment 設置標簽文本的對齊方式。其枚舉值有:NotSet、 Left、Right 和 Center.
BreakAfter 是否在控件後附加尾隨換行符。此換行符使後續內容從下一行開始。默認為 true
TextBox控件
當你希望用戶輸入文本信息時候,你可以在窗體上放置一個TextBox控件。 TextBox控件中的信息可以通過編碼進行設置,也可以通過該控件的Text屬性進行設置。如果你在某些情況下不希望TextBox控件直接顯示文本信息的話(例如你輸入的密碼),可以設置該控件的Password為True。下表是TextBox控件的一些常見屬性:
屬性 說明
Text 設置文本框的初始字符串
Password 設置該屬性為true,將屏蔽或隱藏目標設備上的輸入
Size
Size 屬性指定期望的輸入字符串寬度(即所含字符數)。TextBox控件根據 Size 的值來縮放其輸入框。值 0 表示 TextBox 控件使用其初始大小設置。輸入字符串(和初始字符串)包含的字符數可以大於 Size 指定的字符數。如果用戶輸入的字符串對輸入框來說太長,則以前輸入的字符會向左滾動。
MaxLength 該屬性設置輸入字符串的最大長度。
Alignment 設置文本框中的文本對齊方式。其枚舉值有:NotSet、 L