Основы ASP.NET 2.0

       

TextBox


Он заменяет элементы разметки <textbox> и <textarea>. Они оба вводят текст, только <textbox> — однострочный, а <textarea> — многострочный. Соответственно, при свойстве textmode, равном MultiLine, получится многострочное поле ввода, а при SingleLine — однострочное. Если textmode равен Password, введенные данные заменяются звездочками, как при <Input Type="Password">. Естественно, это нужно в основном для ввода пароля.

Свойство rows задается при textmode, установленном в MultiLine, и задает количество строк для ввода. Аналогично функционирует свойство columns — количество символов в строке.

Если свойство Wrap установлено, то текст переходит на новую строчку, чтобы полностью помещаться в окне. Эта возможность должна быть хорошо известна по текстовым редакторам:

<script runat="server" language="C#"> void Page_Load() { if (Page.IsPostBack) { if (txtName.Text != "") lblName.Text = "Вы ввели имя:" + txtName.Text; if (txtAddress.Text != "") lblAddress.Text = "Вы ввели адрес:" + txtAddress.Text; if (txtPassword.Text != "") lblPassword.Text = "Вы ввели пароль:" + txtPassword.Text + "<br>Спасибо за регистрацию!"; input.Visible = false; } }

</script>

<html xmlns=""http://www.w3.org/1999/xhtml""> <head> <title>Регистрация нового пользователя</title> </head> <body> <form runat="server" id="input"> <div style="text-align: left"> <table> <tr> <td style="width: 100px"> Введите имя: </td> <td style="width: 100px"> <asp:TextBox ID="txtName" runat="server" /></td> </tr> <tr> <td style="width: 100px"> Введите адрес:</td> <td style="width: 100px"> <asp:TextBox ID="txtAddress" runat="server" TextMode="multiline" Rows="5" Wrap="true" /></td> </tr> <tr> <td style="width: 100px"> Введите пароль:</td> <td style="width: 100px"> <asp:TextBox ID="txtPassword" runat="server" TextMode="password" /></td> </tr> </table> </div> <br /> <input type="Submit"><br /> </form> <br /> <asp:Label ID="lblName" runat="server" /><br /> <asp:Label ID="lblAddress" runat="server" /><br /> <asp:Label ID="lblPassword" runat="server" /><br /> </body> </html>

За счет манипулирования свойством видимости формы одна и та же страница выглядит совершенно по-разному до и после постбэка. На входе видна форма, а на выходе — результат, и так как форма скрыта, никакого кода для нее не генерируется.

Сохраните эту форму в файле Registration.aspx, мы к ней еще вернемся.

У всех классов, унаследованных от WebControl, в ASP .NET 2.0 появился метод Focus(). Он устанавливает фокус в элемент управления. Чаще всего применяется именно к TextBox. Добавьте txtName. Focus() в событие Page_Load(), и курсор при загрузке страницы уже будет установлен в нужной строке ввода.



Содержание раздела