Компьютерные книги
Главное меню
Главная Поиск по сайту Добавить материал О нас Карта книг Карта сайта
Реклама
computersbooks.net -> Добавить материал -> Языки программирования -> Ватсон К. -> "С#" -> 392

С# - Ватсон К.

Ватсон К. С# — Лори, 2005 . — 879 c.
ISBN 1-861004-98-2
Скачать (прямая ссылка): vatsonc2005.pdf
Предыдущая << 1 .. 386 387 388 389 390 391 < 392 > 393 394 395 396 397 398 .. 404 >> Следующая


protected void NewaGrid_PageChar.ged<Object sender, DataGridPageEventArga e)

<

UnselectGridlcemO ;

// изменить текущуп страницу для чтен данных NewsGrid.CurrentPagelndex “ e.NewPagelndex;

BindGrid()|

)

protected void UneelectGridlterot >

I

/ / спрятать элемент 'предварительный просмотр'

NewsGrid.Selectedlndex = -1;

MagPreview.Text ¦ * *j

¦ MegPreview.Visible = false;

)

Изменение установок в режиме онлайн

Нам уже неоднократно приходилось использовать значения, хранящиеся в XML-файле с установками NewsMailer.Settings, которые мы определили в момент создания этого файла. Теперь h;im потребуется web-страница, позволяющая модифицировать эти установки в режиме онлайн — без необходимости садиться перед web-cepaepoM и вручную вносить изменения в базу данных. Страница, о которой идет речь, изображена на рисунке слева.
Практический пример 2 — Менеджер рассылки новостей в режиме онлайн__________________________833

Страница Settings.aspx

Страница ASP.NET формируется с помощью набора управляющих элементен, к которым привязываются соответствующие установки, хранящиеся в базе данных Settings. Онн привязываются к общим переменным, значения которых задаются в коде поддержки, как и для страницы Send Email. Настоящая страница является очень большой, для иллюстрации ее работы мы приводим участок кода, в котором описывается поле Sender Email, а также происходит наполнение соответствующего текстового окна с выполнением дополнительной проверки допустимости:

<asp:TableRow>

<авр:ТаЫеСе11 Text=*Newe Sender Snail:" />

<aep:Text Box runat*'server* Width=*500px" ID=*SenderEmail*

' Class*’TextBox* Text-'<%f SenderEnaii_Value %>' /> . <aap:RequiredFleldValidator runat='server* ControlToValidate=“SenderSmail ¦

D iplay¦"dynamic'><br>* This field is required </asp:RequiredFielSVelidator>

<eap: RegularExprееsionValidator runat**server* validationExpreeeion*'

Coat rolToValidate="SenderEmail•

?ieplay»*dynanic'xbr>* Thia Snail address ie not valid </esp:RegularExpressionValidator> И

</аар:TableCel1>

< / asp: Tabl eRow>

Приведенный выше управляющий элемент является особенным, поскольку в нем присутствует не один, а два элемента, предназначенных для проверки допустимости: один из них позволяет гарантировать, что текстовое окно не является пустым в момент отправки формы, а второй — что строка с адресом электронной почты представлена в допустимом формате, В последнем случае используется RegularExpressionValidator, и, как следует из его названия, он выполняет проверку допустимости регулярного выражения. В настоящем примере используется следующее выражение:

<asp;RegularExpressionValidator runat®*server* velidationExpresaion“*.*8.*\..**

Cont rolToVa1idate= * SenderEmei1 *

Display=“dynamic*xbr>* This Email address is not valid </asp;RegularExpreaaionValidator>

Это означает, что строка должна начинаться с символов (,*), затем в иен должен находиться символ *@’, потом произвольные символы, затем точка (для которой используется еэсаре-последовательность \.) и, наконец, произвольные символы. Например, inbellinaso8vb2themax.com представляет собой допустимый адрес электронной почты, в то время как mbellinasoevb2themax ИЛИ mbellinaso.libero. it — недопустимые адреса.

Регулярные выражения представляют собой весьма мощный инструмент для проверки допустимости содержимого управляющего элемента, поскольку названные выражения могут быть детальными и сложными; их использованию посвящены целые книги. Кроме того, существует возможность прн написании функции, производящей проверку допустимости, использовать метод Cuatomvalidator, который позволяет осуществлять еще более жесткий контроль.
834_____________________________________________________________________Практический пример

Код поддержки для файла Settings.aspx

Код поддержки дня внесения изменений о установки состоит нз двух процедур: одна из них — это метод Page_Load(), предназначенный для извлечения установок нз базы данных с помощью объектов Appconfig н AppSettings и привязки их к соответствующим серверным управляющим элементам посредством вызона метода Page.DataBind():

protected void PageJLoad (object sender, EventArge e)

{

if (IIsPostBack)

{ '

II загрузить все установки NewsMailer.AppSettings settings =

NewsMailer.AppConfig GetSettings(Server.MapPath(GetSettingsFile()I);

SubscribeUBL_Value = settings.SubscribeUSL;

SenderNome_Volue - settings. SenderNn,™?;

SenderEmail_Value « aettinga.SenderEmail;

MewsSubject_Value = settings.NewsSubjectj SubscrSubject_Value ” settinge.SubscrSubject;

SubscrMessage_Value 1 settings.SubecrMessage;

OnSubscrSubj&ct_Value “ settings.UnSubscrSubject;

UnSubscrMessage_Value = settings.UnSubscrMeseage;

Signaturt ilue = settings. Signature;

SendSubscrEmail_Value * settings.SendSubscrEmail; SendUnSubscrBnail_Value = settings.SendUnSubscrEmail;

Page.DataBind{);

)

)

Вторая процедура — это update_ciick(), которая вызывается в момент, когда мышь щелкает кнопку Update. Эта процедура собирает новые значения установок, находящиеся в управляющих элементах, присваивает их свойствам нового объекта AppSettings И вызывает метод SaveSettings () объекта AppConfig ДЛЯ ССрнаЛИЗа-ЦНИ объекта settings В XML-файл (в данном случае — В NewsMailer, Settings):
Предыдущая << 1 .. 386 387 388 389 390 391 < 392 > 393 394 395 396 397 398 .. 404 >> Следующая
Книги
Web-программирован-
ие
Аппаратное обеспечение Графика Руководство по П.О. Самоучитель Теория программирования Фотошоп Языки программирования
Новые книги
Вирт Н. "Систематическое программирование " (Теория программирования)

Эком "Microsoft Excel 2000 шаг за шагом Русская версия самоучитель " (Самоучитель)

Поляков А.Ю. "Методы и алгоритмы компьютерной графики в примерах Vizual C++" (Графика)

Баяковский Ю.М. "Графическая библиотека Open GL " (Графика)

Валиков А. "Технология " (Языки программирования)
Авторские права © 2013 ComputersBooks. Все права защищены.