`
hyshucom
  • 浏览: 806565 次
文章分类
社区版块
存档分类
最新评论

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

 
阅读更多

移动控件介绍及详细使用方法(看了这些你就基本会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" OnClick="cmdAdd_Click">求和
</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:ImageID="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:PhoneCallID="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:LinkID="CShape" Runat="server"NavigateUrl="/CShape.aspx" SoftkeyLabel="CShape">SelectCShape
</mobile:Link>
<mobile:LinkID="VB" Runat="server" NavigateUrl="/VB.aspx"SoftkeyLabel="VB">
Select VB
</mobile:Link>
<mobile:LinkID="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);

SqlCommandobjCmd = 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:RequiredFieldValidatorID="rfvPhone"Runat="server"ControlToValidate="txtPhoneNumber" ErrorMessage="电话号码必须输入">*
</mobile:RequiredFieldValidator>
<mobile:RegularExpressionValidatorID="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控件在功能上几乎是差不多的。早期的.NETFramework中Label控件是不允许分行显示的,但是在.NETFramework 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 中,该文件通常位于\Windows\Microsoft.Net\Framework\v2.x\Config 中
-->
<configuration>
<appSettings/>
<connectionStrings/>
<system.web>
<!--
设置 compilation debug="true" 将调试符号插入
已编译的页面中。但由于这会
影响性能,因此只在开发过程中将此值
设置为 true。
-->
<compilationdebug="true"/>
<!--
通过 <authentication> 节可以配置 ASP.NET 使用的
安全身份验证模式,
以标识传入的用户。
-->
<authenticationmode="Windows"/>
<!--
如果在执行请求的过程中出现未处理的错误,
则通过 <customErrors> 节可以配置相应的处理步骤。具体说来,
开发人员通过该节可以配置
要显示的 html 错误页
以代替错误堆栈跟踪。

<customErrorsmode="RemoteOnly"defaultRedirect="GenericErrorPage.htm">
<errorstatusCode="403" redirect="NoAccess.htm" />
<errorstatusCode="404" redirect="FileNotFound.htm" />
</customErrors>
-->
<authorization>
<allow users="all"/>
</authorization>
<httpRuntimeuseFullyQualifiedRedirectUrl="true"/>
<sessionStatemode="InProc" cookieless="true"timeout="20"></sessionState>
</system.web>
</configuration>

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics