[Wap]TextBox 控件

12 篇文章 0 订阅
6 篇文章 0 订阅

TextBox 控件生成单行文本框。用户在文本框中输入的文本存储在 Text 属性中,该属性是从 TextControl 基类继承的。

注意   避免在单个 ASP.NET 移动 Web 应用程序的不同页上对 TextBox 控件使用重复的 ID 属性值。如果先前从相同的站点加载了包含相同名称 <input> 标记的卡片组,则将忽略与该 <input> 标记关联的值,这是许多 WML 版本 1.1 浏览器的特性。将显示先前加载的 <input> 标记中的值,而不是最近提供的值。
移动控件语法
必需的属性、默认值和具有代码特征的元素以粗体显示。

<mobile:TextBox
  runat="server"
   id="id"
   Font-Name="fontName"
   Font-Size={NotSet|Normal|Small|Large}
   Font-Bold={NotSet|False|True}
   Font-Italic="{NotSet|False|True}
   ForeColor="foregroundColor"
   BackColor="backgroundColor"
   Alignment={NotSet|Left|Center|Right}
   StyleReference="styleReference"
   Wrapping="{NotSet|Wrap|NoWrap}"

   MaxLength="maxLength"
   Numeric="{True, False}"
   Password="{True, False}"
   OnTextChanged="textChangedEventHandler"
   Size="textBoxLength"
   Text="Text"
   InnerText>
</mobile:TextBox>
注意   当呈现到适配器集时,ASP.NET 忽略样式(Font* 和 *Color)属性。
自定义属性
将 TextBox 控件的 wmlFormat 属性作为 WML <input> 元素的 Format 属性发送到 WML 设备。这是一个自定义属性,它与控件的高级属性不同。

注意   wmlFormat 属性的存在将重写 WML 格式的 Textbox 控件的 WML numeric 属性。例如,如果 wmlFormat 属性设置为 NNN,则输入元素限制为三个数字字符。有关有效格式的完整列表,请参见 WML 规范,位于 http://www.wapforum.org 的无线应用协议 (WAP) 论坛中提供该规范。
可以设置 TextBox 控件的 useRandomID 自定义属性,从而可以出于安全目的对控件标识符 (clientID) 进行加密。将对 Password 属性设置为 true 的 Textbox 控件自动进行加密。

有关更多信息,请参见自定义属性。

包容规则
从 TextControl 类派生的所有具体类的包容规则是相同的,显示在下表中。以下控件可以包含 TextBox 控件。

控件 说明
System.Web.UI.MobileControls.Form 可以包含任意多个 TextBox 控件。
System.Web.UI.MobileControls.Panel 可以包含任意多个 TextBox 控件。

TextBox 控件不能包含任何其他控件。

设备模板
无。

特定于设备的行为
呈现 TextBox 的样式将根据设备的不同有所不同,但控件的文本将显示在所有设备上。

对于 HTML 和 WML,文本框以 <input> 标记的形式呈现在它自己的行上,后接一个 <br> 标记(分行符)。

设备语言 行为描述
HTML Size 属性确定所呈现 TextBox 控件的长度。
忽略 Title 属性。

如果 Type 属性设置为 Password,则文本框以密码样式呈现。忽略设置为 Numeric 的 Type 属性。
 
WML 显示 Title 属性中的文本。
如果 Type 属性设置为 Password,则生成的 <Input> 标记具有密码样式。如果 Type 属性为 Numeric,则赋予 <Input> 标记一个 Format 属性,因为 <Input> 标记建议仅限数字的字段。而后,设备解释此格式属性时就像已将输入模式切换为数字模式一样。
 

有关不同设备上如何解释不同样式属性的更多信息,请参见样式文档和特定于设备的呈现文档中“样式继承”一节。

示例
下面的示例演示了 TextBox 控件上 OnTextChanged 事件的使用。此示例包含一个窗体,该窗体显示一个标签、一个文本框和一个命令。当用户在文本框中键入数据然后单击命令按钮之后,该数据将通过回发被发送回服务器。如果 TextBox 控件中的文本不同于上一次回发,则将给出一条消息,指示文本已被更改。此示例还演示了一些 TextBox 控件属性,以及设置长度限制和密码输入模式。

[Visual Basic]
<%@ Page Inherits="System.Web.UI.MobileControls.MobilePage"
   Language="VB" %>
<%@ Register TagPrefix="mobile"
    Namespace="System.Web.UI.MobileControls"
    Assembly="System.Web.Mobile" %>

<script language="vb" runat="server">
Sub Page_Load(sender As Object, e As EventArgs)
   ' Provide the default setting.
   Label1.Text = "TextBox Unchanged"

   ' Dynamically set attributes of the TextBox.
   TextBox1.Alignment = Alignment.Center
   TextBox1.MaxLength = 5
   TextBox1.Password = True
End Sub

Sub AlertUser(sender As Object, e As EventArgs)
   Label1.Text = "TextBox Changed"
End Sub
</script>

<mobile:Form id="Form1" runat="server">
   <mobile:Label runat="server" id="Label1" Alignment="center" />
   <mobile:TextBox runat="server" id="TextBox1"
      OnTextChanged="AlertUser" />
   <mobile:Command runat="server" Text="Submit"
      Alignment="center" />
</mobile:Form>
[C#]
<%@ Page Inherits="System.Web.UI.MobileControls.MobilePage"
   Language="c#" %>
<%@ Register TagPrefix="mobile"
    Namespace="System.Web.UI.MobileControls"
    Assembly="System.Web.Mobile" %>

<script language="c#" runat="server">
void Page_Load(object sender, EventArgs e)
{
   // Provide the default setting.
   Label1.Text = "TextBox Unchanged";

   // Dynamically set attributes of the TextBox.
   TextBox1.Alignment = Alignment.Center;
   TextBox1.MaxLength = 5;
   TextBox1.Password = true;
}

void AlertUser(Object sender, EventArgs e)
{
   Label1.Text = "TextBox Changed";
}
</script>

<mobile:Form id="Form1" runat="server">
   <mobile:Label runat="server" id="Label1" Alignment="center" />
   <mobile:TextBox runat="server" id="TextBox1"
      OnTextChanged="AlertUser" />
   <mobile:Command runat="server" Text="Submit"
      Alignment="center" />
</mobile:Form>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值