ASP.NET中 TextBox 文本输入框控件的使用方法
在 ASP.NET Web Forms 开发中,TextBox 是最基础的文本输入控件。它支持多种显示模式(单行、多行、密码),并提供了如 AutoPostBack 和 Focus 等实用功能。本文将详细解析其关键属性、方法及完整的配置代码。
核心属性设置
TextBox 控件用于接收用户输入的文本信息。在实际使用中,以下属性尤为关键:
ID:控件的唯一标识符,在后台代码中通过此 ID 引用控件。TextMode:决定输入框的行为模式(见下文详解)。AutoPostBack:设置为true时,用户在框内按下回车或 Tab 键会自动触发回发请求服务器。需配合OnTextChanged事件使用。CausesValidation:控制是否在校验发生时对该控件进行验证检查。ReadOnly:将文本设为只读,用户无法修改内容但数据可提交到后端。Width与BackColor:分别控制控件宽度和背景颜色,用于界面美化。
重点:TextMode 模式详解
通过 TextMode 属性可改变文本框的外观和行为,主要包含三种状态:
- SingleLine(默认):标准单行文本框,允许用户在一行内输入字符。
- MultiLine:多行文本框,当内容超出宽度时可自动换行或添加垂直滚动条,适合填写备注等信息。
- Password:密码模式,用户输入的所有字符都会显示为黑点(●),用于保护敏感信息(如登录密码)。
以下是 TextMode 为 Password 时的效果展示,可用于拦截普通用户的明文查看:
而在需要填写长文本的场景下(如备注资料),设置为 MultiLine 能获得更好的体验:
常用方法与事件
TextBox 继承自 Control 类,因此拥有许多通用方法,其中最常用的如下:
Focus():将键盘焦点设置到此控件上。常用于页面加载后自动聚焦在搜索框或用户名输入框中。DataBind():将该控件及其所有子控件绑定到指定的数据源。Dispose():释放控件占用的资源。
在 Page_Load 事件中调用 Focus 方法的典型代码如下:
protected void Page_Load(object sender, EventArgs e)
{
// 设置 TextBox1 获得输入焦点
TextBox1.Focus();
}
运行上述代码后,当页面刷新或加载完成时,光标会停留在 TextBox1 中,提升操作效率:
综合应用示例
下面我们将结合前台 HTML 与后台 C# 代码,演示如何配置一个包含用户名、密码和备注的综合表单。该示例覆盖了 SingleLine、Password 和 MultiLine 三种模式,并对第一个框设置了浅黄色背景和蓝色边框。
第1步:编写前台 Default.aspx
定义三个不同模式的文本框。注意 TextBox1 绑定了 OnTextChanged 事件用于处理回发逻辑。
<%@ 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>
<!-- SingleLine 模式:带样式 -->
用户名:<asp:TextBox ID="TextBox1" runat="server" BackColor="#FFE0C0" BorderColor="Blue" OnTextChanged="TextBox1_TextChanged"></asp:TextBox>
<br />
<!-- Password 模式:隐藏输入内容 -->
密 码:<asp:TextBox ID="TextBox2" runat="server" TextMode="Password" Width="149px"></asp:TextBox>
<br />
<!-- MultiLine 模式:多行文本 -->
备 注:<asp:TextBox ID="TextBox3" runat="server" TextMode="MultiLine"></asp:TextBox>
</div>
</form>
</body>
</html>
第2步:完善后台 Default.aspx.cs
确保命名空间正确引入,实现必要的构造函数(如果有的话)以及响应事件的空函数框架。此处展示了最基础的类结构,可根据实际业务在 TextBox1_TextChanged 中添加逻辑。
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)
{
// 可在此处调用 TextBox1.Focus() 实现自动聚焦
}
protected void TextBox1_TextChanged(object sender, EventArgs e)
{
// 当文本改变且触发回发时执行的动作
}
}
运行程序并填入相应文字后的最终效果如下:
以上就是 ASP.NET 中 TextBox 文本输入框控件的详细内容,更多关于 ASP.NET Web Forms UI 开发的资料请关注本站其它相关文章!
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













