移动控件介绍及详细使用方法(看了这些你就基本会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