移动.NET输入
输入控件
有很多的移动控件支持用户输入。
在前面的demo中,最长用的输入控件可能就是TextBox控件了。TextBox是完成一些简单的输入,比如像姓名,数量,以及标识符和关键字。
如果输入大量的文本那么TextView控件可能是更好的选择。TextView控件允许长的多行的输入就像你用MSN给其他人发消息一样。
数字输入
我们可以通过设置TextBox的属性Numeric让TextBox只接收来接收数字的输入信息。
注意:这个特性通常工作在通过改变从文字到数字的输入模式的手机上。然而在HTML的浏览器上,通常不支持这种行为。
密码输入
我们可以将TextBox控件的Password属性设置成true或者false来指定TextBox处理密码字段。
密码字段将会通过*(星号)替换原始的文本来隐藏输入信息。
列表控件
TextBox和TextView控件是非常适合输入信息的,但是有时你想让用户从已有的列表中选择事先定义好的值。
SelectionList控件支持下拉列表,复选选框和单选按钮。这部分的内容将在其他的章节介绍。
List控件支持菜单和列表的选项,List控件将会在其他的章节介绍。
用户界面控件
用户控件是显示用户界面的控件集。
Name Function
Command Performs an action
Form Defines a container for mobile controls
Image Defines an image
Label Defines a text
Link Defines a hyperlink
List Defines a list
MobilePage Defines a container for mobile controls
ObjectList Defines a list of data objects
Panel Defines a container for other controls
SelectionList Defines a list to select from
StyleSheet Defines styles to be applied to other controls
TextBox Defines a single line input box
TextView Defines a multi-line input box
移动.NET输入验证
验证控件用来验证用户输入的数据。
验证控件
验证控件用来验证用户输入的数据。
验证控件允许你去验证输入控件(比如:TextBox)并且当验证失败的时候显示消息。
每个验证控件完成特定类型的验证(比如:不是指定的值或者不是指定的范围)。
默认情况下,当命令控件被点击得失后页面验证才处理。设置控件的CausesValidation属性为false后当控件被点击时你可以阻止页面的验证(和ASP.NET的模式一样设置命令控件(可能激发服务器事件的)的CausesValidation可以不用激发验证逻辑)。
验证输入
这个页面包含两个表单:
<%@ Page
Inherits=
"System.Web.UI.MobileControls.MobilePage"%>
<%@ Register
TagPrefix="Mobile"
Namespace="System.Web.UI.MobileControls"
Assembly="System.Web.Mobile" %>
<script runat="server">
Sub Page2(Sender as Object,E as EventArgs)
If Page.IsValid Then
ActiveForm=f2
text2.Text="You are " & age.text & " years old"
end if
End Sub
</script>
<Mobile:Form id="f1" runat="server">
<Mobile:CompareValidator runat="server"
ControlToValidate="age"
Type="Integer"
ValueToCompare="18"
Operator="GreaterThanEqual">
You must be at least 18
</Mobile:CompareValidator>
<Mobile:Label runat="server">Age?</Mobile:Label>
<Mobile:TextBox id="age" runat="server" />
<Mobile:Command OnClick="Page2" runat="server">
Submit</Mobile:Command>
</Mobile:Form>
<Mobile:Form id="f2" runat="server">
<Mobile:Label id="text2" runat="server" />
</Mobile:Form>
第一个表单有一个Text属性是Age的Label控件,一个输入年龄的输入框以及一个提交按钮。
通过点击第一个页面的提交按钮后第二个页面被激活,显示相应。
如果验证输入错误,错误消息被显示出来。
当应用程序运行在移动设备上,这两个页面看起来象下面的样子:
javascript:if(this.width>500)this.width=500" border=0>
ValidationSummary 控件
前面的例子使用CompareValidator控件验证输入的信息。输入信息的验证通过验证控件的属性ContolToValidate定义。
你也可以实用ValidationSummary控件的属性FormToValidate,去验证表单里的所有的输入信息。(功能和ASP.NET一样)
这种方式你可以用错误的摘要信息替换原来的单个错误显示。
验证控件参考
Name Function
CompareValidator Compares two values
CustomValidator Provides custom validation
RangeValidator Validates a range
RegularExpressionValidator Validates an expression
RequiredFieldValidator Validates required data
ValidationSummary Displays a validation summary
要得到包括属性方法、事件以及更多实例的控件完整参考,请参考”Mobile Reference”页面。(译者注:参考原始页面或者MSDN。)
移动.NET列表
移动列表控件支持不同的输入和显示特性。
从List中选择
这个页面有两个表单:
<%@ Page
Inherits=
"System.Web.UI.MobileControls.MobilePage"%>
<%@ Register
TagPrefix="Mobile"
Namespace="System.Web.UI.MobileControls"
Assembly="System.Web.Mobile" %>
<script runat="server">
Sub Show_Price(sender As Object,e As ListCommandEventArgs)
text1.Text=e.ListItem.Text & "=" & e.ListItem.Value
ActiveForm=f2
End Sub
</script>
<Mobile:Form id="f1" runat="server">
<Mobile:List runat="server"
OnItemCommand="Show_Price">
<Item text="Volvo" value="$30,000" />
<Item text="BMW" value="$32,000" />
<Item text="Audi" value="$34,000" />
</Mobile:List>
</Mobile:Form>
<Mobile:Form id="f2" runat="server">
<Mobile:Label runat="server" id="text1" />
</Mobile:Form>
第一个表单有一个车的列表。
第二个页面显示价钱。当在第一个页上选择一个车这个页面就被激活。
当这个应用程序运行在移动的设备上这两个页面看起来就像下面的:
上一页 [1] [2] [3] [4] [5] 下一页