移动控件介绍及详细使用方法

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

下面的程序是用TextBox控件实现两个整型数据的加法运算。

清单5:TextBoxDefault.aspx

< %@ Page Language="C#" AutoEventWireup="true" CodeFile="TextBoxDefault.aspx.cs" Inherits="TextBoxDefault" %>

< %@ 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 />< br />

< mobile:TextBox ID="txtNum1" Runat="server">< /mobile:TextBox>

< mobile:TextBox ID="txtNum2" Runat="server">< /mobile:TextBox>

< mobile:Label ID="lblResult" Runat="server">< /mobile:Label>

< mobile:Command ID="cmdAdd" Runat="server" >求和

< /mobile:Command>

< /mobile:Form>

< /body>

< /html>

清单6:TextBoxDefault.aspx.cs

using System;

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 TextBoxDefault : System.Web.UI.MobileControls.MobilePage

{

protected void cmdAdd_Click(object sender, EventArgs e)

{

int Num1;

int Num2;

Num1 = Convert.ToInt32(txtNum1.Text);

Num2 = Convert.ToInt32(txtNum2.Text);

lblResult.Text = Convert.ToString(Num1 + Num2);

}

}

Image控件

为了在移动设备的屏幕上显示一个图片,我们可以在移动WEB窗体上添加一个Image控件,其中Image控件的ImageUrl属性就是用来指定图片所在的位置。还可以设置该控件的NavigateUrl属性,为图像指定一个目标URL。

现在有个很大的问题就是图片在不同的移动设备上的显示效果或支持程度是不同的,这就存在很多不确定的因素。为此,Image控件提供了一系列的工具来克服这些限制。设备筛选器就是上述工具中的一种,因为Image控件不提供任何的不同特性集间的图像转换服务,如将彩色图像转换为单色图像的服务。所以在运行时,我们可以指定多个图像文件以供 Image控件根据移动设备的设备特性进行选择。设备筛选器将在后续章节进行详细的介绍。下表是Image控件的一些常见属性:

说明

NavigateUrl 设置图像的目标 URL。

ImageUrl

可以在设计时或运行时以编程方式为Image对象指定图形文件。还可以将控件的 ImageUrl 属性绑定到一个数据源,以根据数据库信息显示图形。

AlternateText 无法找到图形文件时显示的文本。

清单7:ImageDefault.aspx

< %@ Page Language="C#" AutoEventWireup="true" CodeFile="ImageDefault.aspx.cs" Inherits="ImageDefault" %>

< %@ 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:Image ID="Image1" Runat="server" AlternateText="天极网络"

ImageUrl="~/images/yesky.gif">

< /mobile:Image>

< /mobile:Form>

< /body>

< /html>

PhoneCall 控件

PhoneCall 控件的主要功能就是可以为用户提供通话服务。如果移动设备具备通话功能的话,PhoneCall 控件将向用户显示一个字符串。该字符串将显示为一个可供用户选择的命令。使用 Text 属性可设置字符串的内容。使用 PhoneNumber 属性可设置移动设备要拨叫的号码。

如果用户的移动设备不具备通话功能的话,则 PhoneCall 控件将根据在 AlternateFormat 属性中设置的格式字符串显示文本。默认情况下,AlternateFormat 属性包含 {0} {1} 作为其格式字符串。PhoneCall 控件用 Text 属性中的字符串替换 {0},用 PhoneNumber 属性的内容替换 {1}。如果在 AlternateUrl 属性中指定了 URL,则可以将输出文本在移动设备上显示为超链接,用户点击该超链接时将跳转到对应的URL上。下表是PhoneCall控件的一些常见属性:

属性 说明

AlternateFormat 用户的移动设备在不支持通话功能的情况下,PhoneCall控件将根据在 AlternateFormat 属性中指定的格式字符串显示文本。

AlternateUrl

在用户的移动设备在不支持通话功能的情况下,提供一个链接使得用户可以跳转到其它的移动窗体上。

Text

在具有通话功能的移动设备上,PhoneCall 控件将向用户显示一个字符串。该字符串将显示为用户可选择的命令。使用Text 属性可设置字符串的内容。

PhoneNumber 该属性用来设置设备将拨叫的号码。

下面是一个使用PhoneCall 控件的简单示例,由于Pocket PC仿真设备支持通话功能,所以它可以根据PhoneNumber设置的号码进行拨叫。而Openwave模拟器由于不支持通话功能,所以它将根据AlternateUrl设置的链接进行跳转。

清单8:PhoneCallDefault.aspx

< %@ Page Language="C#" AutoEventWireup="true" CodeFile="PhoneCallDefault.aspx.cs" Inherits="PhoneCallDefault" %>

< %@ 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:PhoneCall ID="PhoneCall1" Runat="server" AlternateUrl="http://www.baidu.com"

PhoneNumber="03115882724" SoftKeyLabel="拨号">拨叫:

< /mobile:PhoneCall>

< /mobile:Form>

< /body>

< /html>

Link 控件

Link 控件主要用来显示一个供超链接使用的文本字符串。超链接可指向同一个ASP.NET 移动 Web 窗体页上的另一窗体,也可指向其他的 URL。对于支持软键的移动设备,你可以在 SoftkeyLabel 属性中键入简短的字符串文本,软键是许多移动电话上都有的可编程按钮。如果你希望创建一个带有链接的图像,请使用 Image 控件。下表是Link控件的一些常见属性:

属性 说明

NavigateUrl 指定链接的目标 URL

Text 设置Link控件的文本信息

SoftKeyLabel 对于支持软键的输出设备,可将软键的标题键入SoftkeyLabel属性中。

Link 控件在构建移动设备的菜单方面是很常用的。由于移动设备在输入方面的限制,所以要提供一些友好的菜单供用户选择。下面的程序清单实现的是一个简单的菜单功能,用户可以点击不同的链接跳转到对应的移动窗体上。注意本程序中,由于Openwave模拟器支持软键,所以会显示软键的标题。

清单9:LinkDefault.aspx

< %@ Page Language="C#" AutoEventWireup="true" CodeFile="LinkDefault.aspx.cs" Inherits="LinkDefault" %>

< %@ Register TagPrefix="mobile" Namespace="System.Web.UI.MobileControls" Assembly="System.Web.Mobile" %>

< html xmlns="http://www.w3.org/1999/xhtml" >

< body>

< mobile:Form id="Language" runat="server">

< mobile:Link ID="CShape" Runat="server" NavigateUrl="/CShape.aspx" SoftkeyLabel="CShape">Select CShape

< /mobile:Link>

< mobile:Link ID="VB" Runat="server" NavigateUrl="/VB.aspx" SoftkeyLabel="VB">

Select VB

< /mobile:Link>

< mobile:Link ID="JShape" Runat="server" NavigateUrl="/JShape.aspx"

SoftkeyLabel="JShape">Select JShape

< /mobile:Link>

< /mobile:Form>

< /body>

< /html>

List 控件

List控件用来显示项的静态列表。你也可以从数据库动态地检索数据,然后将这些数据绑定到List控件上。通过在“属性”窗口中单击 Items 属性旁的省略号按钮 (……) 并使用 List 属性对话框,可向列表中添加项。设置ItemCount 属性可指定列表包含的项的数目。在一些设备上,必须对列表进行分页。您可将 ItemsPerPage 属性设置为要在每页上显示的列表项的数目。

使用数据绑定,List控件可以从数据源动态地获得其属性值。使用“属性” 窗口中的DataBindings属性可以指定要绑定的属性。此外,List控件可使用数据绑定从数据源读取它的项。在DataSource属性中可为项指定数据源。使用DataMember属性可设置当控件执行数据绑定时从中读取数据的数据源成员。DataTextField和 DataValueField 属性分别设置当 List 控件绑定项的 Text 和 Value 属性时,将使用数据绑定项的哪一属性。

使用 Alignment、ForeColor、Font、StyleReference 和 Wrapping 属性可设置 List 控件的外观。List 控件可以使用编号或项目符号显示它们的项,具体样式在 Decoration 属性中指定。

下表是List控件的一些常见属性:

属性 说明

DataSource 要绑定的列表的数据源。

DataMember

当数据绑定到列表数据源时要提取的数据成员。仅在DataSource属性的值的类型为 IListSource 而不是 IEnumerable 时,才使用此属性。

DataValueField 在绑定某个项的 Value 属性时要使用的数据绑定项的属性。

DataTextField 在绑定项的 Text 属性时要使用的数据绑定项的属性。

Decoration 用于项的修饰的类型。

清单10和11是一个将数据库中的数据绑定到List控件的示例,该程序将数据源的Company Name字段绑定List控件上。

清单10:ListDefault.aspx

< %@ Page Language="C#" AutoEventWireup="true" CodeFile="ListDefault.aspx.cs" Inherits="ListDefault" %>

< %@ 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:List ID="lstResult" Runat="server" DataTextField="CompanyName" DataValueField="CustomerID" Decoration="Bulleted">

< /mobile:List>

< /mobile:Form>

< /body>

< /html>

清单11:ListDefault.aspx.cs

using System;

using System.Collections;

using System.ComponentModel;

using System.Data;

using System.Data.SqlClient;

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;

using System.Configuration;

public partial class ListDefault : System.Web.UI.MobileControls.MobilePage

{

protected void Page_Load(object sender, EventArgs e)

{

if (!IsPostBack)

{

string conn = ConfigurationManager.ConnectionStrings["Northwinds"].ConnectionString;

SqlConnection objConn = new SqlConnection(conn);

SqlCommand objCmd= new SqlCommand();

objCmd.CommandText = "SELECT TOP 3 * FROM CUSTOMERS";

objCmd.Connection = objConn;

objConn.Open();

SqlDataReader objReader = objCmd.ExecuteReader(CommandBehavior.CloseConnection);

lstResult.DataSource = objReader;

lstResult.DataBind();

objCmd.Dispose();

objConn.Dispose();

}

}

}

ObjectList 控件

ObjectList控件提供了一种及其简单的方式来显示数据集合(如数据库)的多个视图。该控件开始只显示数据源中的某个列,而不是所有的数据项。当你选择列表中的一个记录字段时, ObjectList控件会回发到服务器并且把该记录的所有字段都显示出来。该控件还自动提供一个“上一步”按钮,这样使用户可以返回列表主界面。你可以将某个字段设置给ObjectList控件的LabelField属性,这样该字段就会在ObjectList控件主界面上进行显示。

下面直接在程序清单10和11上进行小部分的更改,即把List控件改为ObjectList控件,并且设置ObjectList控件的LabelField属性为 CustomerID,ID设置为lstResult。这时,ObjectList控件将首先显示CustomerID字段的信息。当用户单击某个 CustomerID字段信息时,就会将该记录的其它所有信息显示出来。

using System.Web.UI;

using System.Web.UI.MobileControls;

using System.Web.UI.WebControls;

using System.Web.UI.HtmlControls;

using System.Configuration;

public partial class SelectListDefault : System.Web.UI.MobileControls.MobilePage

{

protected void Page_Load(object sender, EventArgs e)

{

if (!Page.IsPostBack)

{

string conn = ConfigurationManager.ConnectionStrings["Northwinds"].ConnectionString;

SqlConnection objConn = new SqlConnection(conn);

SqlCommand objCmd = new SqlCommand();

objCmd.CommandText = "SELECT TOP 3 * FROM CUSTOMERS";

objCmd.Connection = objConn;

DataSet ds = new DataSet();

SqlDataAdapter objAdapter = new SqlDataAdapter();

objAdapter.SelectCommand = objCmd;

objAdapter.Fill(ds);

objCmd.Dispose();

slistDropDown.DataSource = ds.Tables[0].DefaultView;

slistListBox.DataSource = ds.Tables[0].DefaultView;

slistRadioButton.DataSource = ds.Tables[0].DefaultView;

slistCheckBoxes.DataSource = ds.Tables[0].DefaultView;

slistDropDown.DataBind();

slistListBox.DataBind();

slistRadioButton.DataBind();

slistCheckBoxes.DataBind();

}

}

}

验证控件

移动WEB程序中的验证控件和传统的ASP.NET程序中的验证控件具有类似的工作方式。例如 RequiredFieldValidator控件确保用户必须输入信息,CompareValidator控件用来比较两个字段,RangeValidator确保整个字段都必须在一个特定的范围之内,RegularExpressionValidator控件用正则表达式来验证信息,而CustomValidator控件利用用户自定义代码进行信息的验证。

当然,移动WEB程序中的验证控件和传统的 ASP.NET程序中的验证控件还是有些细小的区别。例如ValidationSummary控件不支持DisplayMode、 EnableClientScript、ShowMessageBox、ShowSummary等属性。

但是在移动WEB程序中,ValidationSummary控件添加了BackLabel和FormToValidate两个属性。因为移动设备的屏幕限制,所以 ValidationSummary控件通常将验证信息在一个新的窗体中进行显示。当在呈现窗体的过程中发生错误时,验证过程将BackLabel属性中的文本用作验证摘要页上显示的字符串。而使用 FormToValidate属性将一个窗体指定为待验证的窗体。

下面的程序包含一个文本框和两个验证控件。RequiredFieldValidator控件确保文本框中的信息不为空,而RegularExpressionValidator控件确保输入的值为一个北京的电话号码。

清单14: ValidatorDefault.aspx

< %@ Page Language="C#" AutoEventWireup="true" CodeFile="ValidatorDefault.aspx.cs" Inherits="ValidatorDefault" %>

< %@ 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:Label ID="lblPhoneNumber" Runat="server"> 输入电话号码:< /mobile:Label>

< mobile:TextBox ID="txtPhoneNumber" Runat="server">< /mobile:TextBox>

< mobile:RequiredFieldValidator ID="rfvPhone" Runat="server" ControlToValidate="txtPhoneNumber" ErrorMessage="电话号码必须输入">*

< /mobile:RequiredFieldValidator>

< mobile:RegularExpressionValidator ID="revPhone" Runat="server" ControlToValidate="txtPhoneNumber" ErrorMessage="错误的电话格式"

ValidationExpression="((d{3})|d{3}-)?d{8}">*

< /mobile:RegularExpressionValidator>

< mobile:Command ID="cmdPhoneNumber" Runat="server">OK< /mobile:Command>

< mobile:ValidationSummary ID="ValidationSummary1" Runat="server"

BackLabel="返回重新输入" FormToValidate="Form1">

< /mobile:ValidationSummary>

< /mobile:Form>

< /body>

< /html>

TextView控件

使用 TextView 控件可以显示大段文本数据。在此控件中,您可以使用常规、粗体和斜体样式来显示文本,并可以使用分行符、段落标记和超链接。

在实际的应用中,TextView 控件和Label控件在功能上几乎是差不多的。早期的.NET Framework中Label控件是不允许分行显示的,但是在.NET Framework 2.0中已经添加了该功能,这就使得TextView 控件在2.0中有点显得多余,但是它也有自己的独特功能。下表是TextView控件的一些常见属性:

属性 说明

Wrapping

如果TextView控件的文本信息过长的话,可以设置该属性将信息分为多行进行显示。其枚举值有:NotSet、 Wrap 和 NoWrap.

Alignment 设置TextView控件内文本的对齐方式。其枚举值有:NotSet、 Left、Right 和 Center.

BreakAfter 是否在控件后附加尾随换行符。此换行符使后续内容从下一行开始。默认为 true

Command控件

在ASP.NET WEB移动开发控件中是不存在Button控件的,取而代之的是Command控件。它用来创建一个用户界面元素以使用户能够调用 ASP.NET 事件处理程序,并使得用户的输入从页面回发到服务器端。当用户点击Command控件时,它会在服务器端自动地激发两个事件,分别为Click 和 ItemCommand,并且这两个事件可以在同一个页面上进行处理。然而,如果Command控件包含在一个容器中,ItemCommand事件将向上冒泡到父控件上。下表是Command控件的一些常见属性:

属性 说明

Text 该属性为Command控件显示时的字符串

ImageUrl Command 控件可以在支持图像的设备上显示位图图像,因此我们可以用ImageUrl属性指定图像位置的URL。

CausesValidation 默认情况下,Command 控件的 CausesValidation 属性的值为 true。这使得服务器会对同一窗体中的所有其他控件进行验证。若要禁用此行为,请将 CausesValidation 设置为 false。

注意,Command控件的CausesValidation属性在默认状态下设置为True,这表明用户点击该控件时,将在活动的移动WEB窗体上使用验证控件进行信息的验证。当然你也可以设置CausesValidation属性为False即不采用验证。

ASP.NET 移动控件使开发人员可以面向广泛的移动设备,包括支持 Web 的移动电话、寻呼机和个人数字助理 (PDA)。ASP.NET为移动设备提供的 Web 应用程序模型与为面向桌面浏览器的 ASP.NET 应用程序提供的模型一样丰富。本节将介绍 ASP.NET 移动控件添加到 ASP.NET Web 窗体的一系列扩展。 ASP.NET 移动控件由一组 ASP.NET 服务器控件和设备适配器组成,它们可以以智能的方式呈现您的应用程序。并且在使用之前,要对应用程序做一些配置改变。这对于处理一些移动设备的限制是而言是必需的。

首先必须允许不依赖于Cookie的Session。并不是所有的移动设备都支持浏览器Cookie。为了让Session状态能够在这些设备上起作用,就必须使用不依赖于Cookie的Session。此外,与普通的ASP.NET页面不同,移动页面使用Session状态来保存视图状态(这通常是为了保留带宽)。由于某些移动控件依赖于视图状态,因此必须允许不依赖于Cookie的Session,以便让这些控件正常工作。

需要做得第二个改变是自动生成URL的方式,有些移动设备要求完整路径的URL,而不是相对路径的URL。

可以同时允许不依赖于Cookie的Session和完整路径的URL,把如下的Web.Config文件添加到应用程序的根目录下即可(黑体加粗的部分为允许不依赖于Cookie的Session和完整路径的URL的设置):

Web.Config代码:

< ?xml version="1.0"?>

< !--

注意: 除了手动编辑此文件以外,您还可以使用Web 管理工具来配置应用程序的设置。可以使用Visual Studio 中的“网站”->“Asp.Net 配置”选项。设置和注释的完整列表在 machine.config.comments 中,该文件通常位于WindowsMicrosoft.NetFrameworkv2.xConfig 中

-->

< configuration>

< appSettings/>

< connectionStrings/>

< system.web>

< !--

设置 compilation debug="true" 将调试符号插入

已编译的页面中。但由于这会

影响性能,因此只在开发过程中将此值

设置为 true。

-->

< compilation debug="true"/>

< !--

通过 < authentication> 节可以配置 ASP.NET 使用的

安全身份验证模式,

以标识传入的用户。

-->

< authentication mode="Windows"/>

< !--

如果在执行请求的过程中出现未处理的错误,

则通过 < customErrors> 节可以配置相应的处理步骤。具体说来,

开发人员通过该节可以配置

要显示的 html 错误页

以代替错误堆栈跟踪。

< customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">

< error statusCode="403" redirect="NoAccess.htm" />

< error statusCode="404" redirect="FileNotFound.htm" />

< /customErrors>

-->

< authorization>

< allow users="all"/>

< /authorization>

< httpRuntime useFullyQualifiedRedirectUrl="true"/>

< sessionState mode="InProc" cookieless="true" timeout="20">< /sessionState>

< /system.web>

< /configuration>

时间: 2024-08-18 04:28:49

移动控件介绍及详细使用方法的相关文章

Python模块搜索概念介绍及模块安装方法介绍

  这篇文章主要介绍了Python模块搜索概念介绍及模块安装方法介绍,本文详细讲解了import模块的运作原理,搜索路径的过程以及模块安装的多种方法,需要的朋友可以参考下 [import模块] 和C中的#include不同,Python中的import语句并不是简单的把一个文件插入另外一个文件. 导入其实是运行时的运算,程序第一次导入指定文件时,会执行以下步骤, 1. 找到模块文件 2. 编译成位码 3. 执行模块中的代码来创建所定义的模块 并生成.pyc字节码文件,这三个步骤只在程序执行时,模

让IIS支持Flv的详细设置方法_win服务器

国内大多都是Win2003的主机,FLV格式文件上传服务器后不能播放,默认是没有指定输出FLV这种格式的虽然FTP里面可以看见,但无法通过http访问,也就无法播放了.原因是,WIN2003加强了IIS6的MIME验证,一切未注册扩展文件格式统统显示404错误.手动在IIS得站点属性中的HTTP头->MIME添加MIME影射关系,MIME类型: video/x-flv 扩展名:.flv,即可通过Flash7+客户端Load进来播放. "虚拟主机都不支持Flv格式文件"的问题:比如

YUM解决RPM包安装依赖关系及yum工具介绍本地源配置方法详解_Linux

1.背景概述 在实际生产环境下,对于在linux系统上安装rpm包,主要面临两个实际的问题 1)安装rpm包过程中,不断涌现的依赖关系问题,导致需要按照提示或者查询资料,手工安装更多的包 2)由于内外网的隔离,无法连接外网的yum源 鉴于上述因此,本文将详细介绍,yum工具以及配置本地yum源的方法 2.yum工具简介 •yum工具作为rpm包的软件管理器,可以进行rpm包的安装.升级以及删除等日常管理工作,而且对于rpm包之间的依赖关系可以自动分析,大大简化了rpm包的维护成本. •yum工具

PS仿手绘中光亮有层次的发丝详细绘制方法

        PS仿手绘中光亮有层次的发丝详细绘制方法            最终效果 1.为了节省大家的时间,素材图片已经处理好了.只是去掉了头发,需要自己加上去. 2.用钢笔工具沿着原图勾出头发的轮廓. 3.新建一个图层,按Ctrl + Enter把路径转为选区,按Ctrl + Alt + D 羽化3个像素后填充褐色:#746059,效果如下图. 4.边缘细小发丝的绘制:用钢笔勾出下图所示的一组路径. 分类: PS入门教程

一站到底游戏电脑版详细安装方法

一站到底是又江苏卫视打造的一款答题节目,因为这个节目可以让我们学会很多的知识,所以很多游戏也开始效仿,现在一站到底游戏已经出了安卓版,那么如何在电脑上玩呢?下面小编给大家带来了详细的安装方法 详细安装方法 1.首先下载安卓模拟器 安装完毕后会自动进入软件界面,可以设置语言为简体中文 2.必安装sp2组件包(模拟器运行环境,系统有就不必重复安装) 注意:安装组件比较多,net2.0sp1 安装时360会弹出警告,放心无视! 3.下载完整的游戏APK文件 右击游戏apk图标,选择打开方式--Blue

jquery 浮动窗口详细实现方法

文章来讲一款jquery 浮动窗口详细实现方法与实例应用,我们很清楚的利用了jquery浮动插件来实例下面的效果.当一个容器对象,例如一个div,已捕获鼠标,活动的对象是原产于该容器内发射的分区,除非setcapture方法bcontainercapture参数设置为false.通过虚假的价值导致容器不再捕获所有文档事件.相反,该容器内的对象仍然火灾事件,这些事件也和泡沫预期.<br/> ---这是高山编辑. js代码 function drag(overflow,title){ title.

c语言文件读写操作的详细使用方法

c语言文件读写操作的详细使用方法 C文件操作遇到的状况 1.将一个文件读到另一个文件,用"(ch = getc(fp)) != EOF"来判断文件是否结束,如果 文件是全英文文本的话绝对没问题,新文件的大小和原文件大小一样:但是如果是一些有中 文字符或者是二进制文件,原文件没读完就结束. 2.将一个文件读到另一个文件,用"!feof(fp)"判断文件是否结束,不管原文件是什么类型 的都可以将原文件全部读完才结束,但是新文件的大小比原文件多了一个字节. 问题:在C里如

GridView分页与详细使用方法

gridview分页与详细使用方法 1.       把gridview控件拖放到界面上 2.       用代码设置数据源绑定gridview控件 oledbcommand command = new oledbcommand();          string sql = "select * from admin";    //绑定到数据表admin         command.commandtext = sql;         command.connection = s

Centos系统下安装SVN服务器方法介绍(非常详细)

分支开发的意义: 场景一,有客户想对产品做定制,但是我们并不想修改原有的svn中trunk的代码. 场景二,我们正在开发产品下阶段的任务,但上阶段的工作发现问题 以场景二为例,项目某一阶段开发完成后,这个时候要做一个tag,tag_mfcai_V1.01.00, 然后基于这个tag发布一个新的版本,假设项目是web项目,那么基于这个tag发布一个web包. 然后trunk进入下阶段继续开发,但是很不幸发布的版本被检测出来了bug,有人会提议,把bug放到下阶段的任务中去.假设下阶段的任务才刚开始