Информационный сайт

 

Реклама
bulletinsite.net -> Книги на сайте -> Программисту -> Троелсен Э. -> "С# и платформа .NET. Библиотека программиста" -> 300

С# и платформа .NET. Библиотека программиста - Троелсен Э.

Троелсен Э. С# и платформа .NET. Библиотека программиста — СПб.: Питер, 2004. — 796 c.
ISBN 5-318-00750-3
Скачать (прямая ссылка): cplatforma2004.pdf
Предыдущая << 1 .. 294 295 296 297 298 299 < 300 > 301 302 303 304 305 306 .. 320 >> Следующая

Виды элементов управления 745
будет производиться при нажатии кнопки Submit, то есть при попытке пользователя отправить данные на сервер. Самый простой способ реализовать такую проверку — воспользоваться элементом управления RequiredFieldValidator.
Car News Letter Sign Up
First Name____
Last Name
e-mail
Subrr.i] I
__ Zi
ї'їїісіяіп 0 HTML
Рис. 14.49. Простой интерфейс для ввода данных
Добавим ReqiM геогіеШа ¦ idstor на страницу при помощи Toolbox и откроем его свойства (рис. 14.50). Свойств, которые обязательно нужно настроить, два; Сог-trolToValidate (здесь нужно выбрать имя текстового поля, обязательного для заполнения, - в нашем случае txtEMail) и ErrorMessage - сообщение об ошибке, которое будет выдаваться пользователю.
Вот и все. Если мы посмотрим, какой код в файле *.aspx сгенерировала для нас среда разработки Visual Studio.NET, то он будет таким:
<asp:RequiredFieldValidator id=RequiredFieldvalidatorl style-"Z-INDEX: 109:
LEFT: 351px; POSITION: absolute: TOP: 204px"
runat="server"
ErrorMessage="We need your e-mail Address!" ControlToValidate="txtEMai1"> </asp:ReQuireriFieldValidator>
Кроме того, в производном от Page классе С# для нашей страницы ASP-Kl:'' (в том файле, который указан в атрибуте Codebehind) появится новая переменная:
public class WebForml : Systaii.web.UI .Page {
protected System.Web.LtI.WebControls.Button btnSubmit; protected System.Web.UI.WebControls.Requi redFieldVaI і dator
Reqi redFi eldVal1datorl:
protected System.Web.UI.WebControls.TextBox txtEMail: protected System,Web.UI.WebControls.TextBox txtLName; protected System.Web.UI.WebControls.TextBox txtFName:
Г
746 Глава 14 - Разработка web-приложений и ASP.NET
Properties
I RequiredFieldValidator I System,Web.UI.WebControls.R(_jJ
BorderCulor EorcferStyle BwderWidth
Conti ?IToValiddh
CssOass
Display
Enable ClientScript
Enabled
EnableVewState
ErrorMessage
EventModflers
H Font ForeColor
Height
a
NotSet ItxtEMail
Static True True
True
We need your e-mail Addl-Famiy
Red
ControlToValidate
ID oHhe central to validate.
Рис. 14.50. Свойства объекта Requiredf-'/dd Validator
^http://mauiboH LontrolWebApp/defaultaspx-Microsoft Ъ4ел Г - '"
j Fte Edit Yjew Favorites Iools tJefc
j *-п5-|; * .'¦ - ЭЙД ^Search ta|F*vortes Q)Httwy | _H
I Address ]&http:;/niainbox/ControriVebApp/default.aspi <?Go ;

Car News Letter
Sign Up
3?« Name fawJ j
LastName
* I- e-mail _I We bted yovt t-ОівЛ noaitfsf
Submit j

f I !.осч/titranet
Рис. 14.51, RequiredFioldvalidator в действии
Подведение итогов 747
Сохраним страницу и обновим ее в окне браузера. С виду ничто не изменится. Однако если мы попробуем нажать кнопку Submit, не заполнив поле txtEMai , то на
странице рядом с этим полем появится сообщение об ошибке (рис. 14.51).
Если мы введем данные в текстовое поле и нажмем Submit, надпись исчезнет. Если в окне браузера просмотреть код web-страницы, то мы заметим в нем новую функцию JavaScript, которая была создана для нас без нашего участия. На сам.эм деле все еще интереснее: если элемент управления .¦ ¦ обнаружит, что бр.^зес не поддерживает работу со скрніггамн, то логика проверки вводимых данных будет реализована для выполнения на сервере!
Код приложения Validate Web App можно найти в подкаталоге Chapter 14.
Обработка событий элементов управления WebForm
События, генерируемые элементами управления WebForm, можно перехватывать и обрабатывать двумя способами. Первый способ - делать все непосредственно в браузере клиента при помощи клиентских браузер пых скриптов JavaScript. Это традиционный подход, который наиболее удобен в тех ситуациях, когда нужно выполнять форматирование на web-странице, выводить оповещения в окне браузера или осуществлять прочие взаимодействия с объектной моделью, реализованной в браузерах. Но элементы управления WebForm предлагают нам и другой способ - обрабатывать и перехватывать их события на сервере. Для этого достаточі ю добавить обработчик события при помощи окна Property свойств элемента управления. Обычно такой способ наиболее удобен для выполнения операций, не связанных с графическим интерфейсом — например, для производства каких-то вычислений, редактирования таблицы с данными и т. п.
Давайте рассмотрим применение обработки событий элементов управления WebForm на сервере. В качестве элемента управления у нас будет использован Calendar, а реагировать мы будем на событие Selecti onChanged. Выглядеть это может так:
protected void Calendarl_Selectior\Changed (object sender. System. EventArgs e)
Response.Write("<h5>Your car will be delivered on:" + Calendar].,SeIecteddate.data
)
Теперь при выборе пользователем даты в календаре сработает событие Sel -
ti onChanged и в окне браузера появится надпись, показанная на рис. 14.52.
Конечно, мы можем использовать для подобных целей и клиентские браущ -пыо скрипты — никто этого нам не запрещает. Все зависит от ситуации — свои достоинства есть у каждого способа. Клиентским скриптам не нужно обращаться на сервер, поэтому они будут работать гораздо быстрее. С другой стороны, серверные скрипты проще и надежнее.
Предыдущая << 1 .. 294 295 296 297 298 299 < 300 > 301 302 303 304 305 306 .. 320 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100