Bạn có thể sử dụng TextBox để hiển thị 3 loại TextBox khác nhau để nhập dữ liệu bằng cách thay đổi giá trị của TextMode. TextMode có 3 giá trị sau:
- SingleLine: hiển thị 1 dòng nhập liệu
- MultiLine: hiển thị nhiều dòng nhập liệu
- Password: hiển thị 1 dòng và dữ liệu sẽ được hiển thị dưới dạng ký tự đặc biệt.
Trong ví dụ sau, bạn sẽ tìm hiểu 3 loại TextBox này:

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Sử dụng TextBox</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:TextBox
id="txtUserName"
TextMode="SingleLine"
Runat="server" />
<br /><br />
<asp:TextBox
id="txtPassword"
TextMode="Password"
Runat="server" />
<br /><br />
<asp:TextBox
id="txtComments"
TextMode="MultiLine"
Runat="server" />
</div>
</form>
</body>
</html>
Bạn có thể sử dụng những thuộc tính sau để điều khiển nội dung hiển thị của TextBox
- · AutoPostBack: cho phép bạn gửi về Server 1 cách tự dộng khi nội dung của TextBox thay đổi.
- Columns: số column được chỉ định cho TextBox này.
- Enabled: có 2 giá trị TRUE hoặc FALSE. Giá trị mặc định của trường này là TRUE. Nếu là FALSE thì bạn không thể nhập dữ liệu được.
- MaxLength: chỉ định chiều dài cho TextBox
- ReadOnly: có 2 giá trị TRUE hoặc FALSE. Giá trị mặc định là FALSE. Nếu là TRUE thì TextBox này chỉ đọc, không cho phép gán vào giá trị.
- Rows: cho phép bạn chỉ định số dòng sẽ được hiển thị.
- TabIndex: cho phép bạn chỉ định thứ tự tab. TabIndex này có hiệu lực khi bạn thực hiện phím tab trên bàn phím. Ví dụ: bạn thiết lập TabIndex của TextBox là 2 thì sau 2 lần tab, TextBox đó sẽ nhận được focus.
- Wrap: chỉ định thuộc thính word-wrap khi TextMode là MultiLine.
Sự kiện TextChanged: sự kiện này xảy ra khi nội dung của TextBox thay đổi.
Khi thuộc tính AutoPostBack = TRUE, thì Form chứa TextBox sẽ được tự động gửi dữ liệu về Server khi nội dung của TextBox đó thay đổi. Trong ví dụ sau, nếu bạn chỉnh sửa nội dung của TextBox và tab ra khỏi TextBox đó, thì Form sẽ tự động gửi về Server, và nội dung của TextBox sẽ được hiển thị.
Lưu ý: để viết sự kiện cho TextChanged cho TextBox, bạn double-click vào TextBox

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Sử dụng AutoPostBack của TextBox</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label
id="lblSearch"
Text="Search:"
Runat="server" />
<asp:TextBox
id="txtSearch"
AutoPostBack="true"
Runat="server" ontextchanged="txtSearch_TextChanged" />
<hr />
<asp:Label
id="lblSearchResults"
Runat="server" />
</div>
</form>
</body>
</html>
protected void txtSearch_TextChanged(object sender, EventArgs e)
{
lblSearchResults.Text = "Search for: " + txtSearch.Text;
}
Trong ví dụ trên, sự kiện TextChanged của TextBox đã được xử lý. Sự kiện này xảy ra trên Server khi nội dung của TextBox bị thay đổi. Bạn có thể xử ly sự kiện này ngay cả khi bạn không sử dụng thuộc tính AutoPostBack.
Lưu ý: trong thực tế, khi thiet ke website, bạn nên tránh sử dụng thuộc tính AutoPostBack. Việc tạo ra 1 trang web mà tự động gửi dữ liệu về Server có thể làm cho người sử dụng cảm thấy rất bối rối. Các tốt hơn để gửi dữ liệu về cho Server mà không cần sử dụng thuộc tính AutoPostBack là sử dụng Microsoft AJAX, JavaScript, hoặc jQuery. Bằng cách này thường cho kết quả tốt hơn và nhanh hơn.
Được viết bởi: Hoc Thiet Ke Web & Thiet Ke Web Trần Lê
-----------------------------------------------------------------------------------
Trần Lê: Thiết Kế Website Chuyên Nghiệp
GMAT Test: GMAT data sufficiency, GMAT problem solving, GMAT sentence correction, GMAT critical reasoning, GMAT reading, GMAT Math