ASP.NET中 TextBox 文本输入框控件的使用方法

清欢
清欢
发布时间:2026-10-13| 6人浏览过
原创

在 ASP.NET Web Forms 开发中,TextBox 是最基础的文本输入控件。它支持多种显示模式(单行、多行、密码),并提供了如 AutoPostBack 和 Focus 等实用功能。本文将详细解析其关键属性、方法及完整的配置代码。

核心属性设置

TextBox 控件用于接收用户输入的文本信息。在实际使用中,以下属性尤为关键:

  • ID:控件的唯一标识符,在后台代码中通过此 ID 引用控件。
  • TextMode:决定输入框的行为模式(见下文详解)。
  • AutoPostBack:设置为 true 时,用户在框内按下回车或 Tab 键会自动触发回发请求服务器。需配合 OnTextChanged 事件使用。
  • CausesValidation:控制是否在校验发生时对该控件进行验证检查。
  • ReadOnly:将文本设为只读,用户无法修改内容但数据可提交到后端。
  • Width 与 BackColor:分别控制控件宽度和背景颜色,用于界面美化。

重点:TextMode 模式详解

通过 TextMode 属性可改变文本框的外观和行为,主要包含三种状态:

  1. SingleLine(默认):标准单行文本框,允许用户在一行内输入字符。
  2. MultiLine:多行文本框,当内容超出宽度时可自动换行或添加垂直滚动条,适合填写备注等信息。
  3. 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 模式:隐藏输入内容 -->
            密 &nbsp; 码:<asp:TextBox ID="TextBox2" runat="server" TextMode="Password" Width="149px"></asp:TextBox>
            <br />
            
            <!-- MultiLine 模式:多行文本 -->
            备 &nbsp; 注:<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 开发的资料请关注本站其它相关文章!

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。