ASP.NET中 TextBox 文本输入框控件的使用方法
textbox控件又称文本框控件,为用户提供输入文本的功能。
1.属性
textbox控件的常用属性及说明如表1所示。
表1 textbox控件常用属性及说明
属性 | 说明 |
---|---|
autopostback | 获取或设置一个值,该值指示无论何时用户在textbox控件中按〈enter〉键或〈tab〉键时,是否自动回发到服务器的操作 |
causesvalidation | 获取或设置一个值,该值指示当textbox控件设置为在回发发生时进行验证,是否执行验证 |
id | 控件id |
text | 控件要显示的文本 |
textmode | 获取或设置textbox控件的行为模式(单行、多行或密码) |
width | 控件的宽度 |
visible | 控件是否可见 |
readonly | 获取或设置一个值,用于指示能否只读textbox控件的内容 |
cssclass | 控件呈现的样式 |
backcolor | 控件的背景颜色 |
enabled | 控件是否可用 |
textbox控件大部分属性设置和label控件类似,具体请参见label控件属性设置,下面主要介绍一下textmode属性。
textmode属性主要用于控制textbox控件的文本显示方式,该属性的设置选项有以下3种。
单行(singleline):用户只能在一行中输入信息,还可以选择限制控件接收的字符数。
多行(multiline):文本很长时,允许用户输入多行文本并执行换行。
密码(password):将用户输入的字符用黑点(●)屏蔽,以隐藏这些信息。
例如:在验证用户登录密码时,可以将textbox控件的textmode属性设置为password,其运行效果如图1所示。
在填写备注资料时,文字可能会很多,此时可将textbox控件的textmode属性设置为multiline,其运行结果如图2所示。
图1 隐藏登录密码
图2 填写备注资料
2.方法
textbox控件常用方法同label控件类似,表2列出了它的一些常用方法。
表2 textbox控件常用方法及说明
方法 | 说明 |
databind | 将数据源绑定到被调用的服务器控件及其所有子控件上 |
focus | 为控件设置输入焦点 |
dispose | 使服务器控件得以在从内存中释放之前执行最后的清理操作 |
equals | 确定两个对象实例是否相等 |
textbox控件的focus方法主要用来获得其焦点,例如:用户在一个含有textbox控件页面的page_load事件中编写了如下代码:
protected void page_load(object sender, eventargs e)
{
textbox1.focus();
}
运行结果如图3所示。
图3 获得textbox控件焦点
3.事件
textbox控件常用事件同label控件类似,具体请参见label控件常用事件。
4.示例
示例:
textbox控件示例
下面示例主要通过设置3个textbox控件不同的textmode属性值来对比其运行效果。新建一个网站,默认主页为default.aspx,在default.aspx页面上添加3个textbox控件,它们的属性设置如下。
输入用户名的textbox控件:textmode属性设为singleline,backcolor属性为#ffe0c0(浅黄色),bordercolor属性为blue(蓝色)。
输入密码的textbox控件:textmode属性设为password。
输入备注信息的textbox控件:textmode属性设为multiline。
执行程序,分别在3个文本框中输入文字,示例运行结果如图4所示。
图4 textbox控件示例
程序完整代码如下:
前台 default.aspx
<%@ page language="c#" autoeventwireup="true" codefile="default.aspx.cs" inherits="_default" %>
<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>textbox控件示例</title>
</head>
<body>
<form id="form1" runat="server">
<div>
用户名:<asp:textbox id="textbox1" runat="server" backcolor="#ffe0c0" bordercolor="blue"
ontextchanged="textbox1_textchanged"></asp:textbox>
<br />
密 码:<asp:textbox id="textbox2" runat="server" textmode="password" width="149px"></asp:textbox>
<br />
备 注:<asp:textbox id="textbox3" runat="server" textmode="multiline"></asp:textbox></div>
</form>
</body>
</html>
后台 default.aspx.cs
using system;
using system.data;
using system.configuration;
using system.web;
using system.web.security;
using system.web.ui;
using system.web.ui.webcontrols;
using system.web.ui.webcontrols.webparts;
using system.web.ui.htmlcontrols;
public partial class _default : system.web.ui.page
{
protected void page_load(object sender, eventargs e)
{
}
protected void textbox1_textchanged(object sender, eventargs e)
{
}
}