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

С# - Ватсон К.

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


CjfWtlEQmc lo ........

j;

Hi rtf

><

«11

felt

From: T-.ua

' Date: SoncUy, v IS, jqn't 7 ¦ ii PM

To: ||Цнй(и^»ЬШм1Ш.ал1’ .

Subject: V/eJca м to th. ¦— ¦ A C*

zl

ДоОро пожаловать uсписок рассылки CS, дорогой Map<o Беллинаэо.

Для оыаза or подписки щилкните мышью на следующей ссылке:

hltp.Mocalhost/newsmaila'fsubscribe aspx?ListD>=3#Action-lJnsubscribe&EmaI=mbellinaso@vb2thenrifix com

Л

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

ISubecr iberiiRL I?Lia tin=ILis tidI 6Act ion^UneubscribebBmai 1*1 SubecriberEmai 1 #

Параметр Action отличает подписку от отказа от подписки. В данном случае ему присваивается значение unsubscribe. Ссылка для осуществления подписки представляет собой точно такую же строку, но не содержащую параметра Action, нлн содержащую параметр Action, которому в качестве значения присваивается произвольная строка (только не unsubscribe). Остальные параметры, входящие в ссылку,— это идентификатор списка рассылки (который хранится в форме в скрытом поле) н адрес электронной почты подписчика.

Сообщение о подтверждении посылается по электронной почте, только если есть соответствующая установка. Вы, однако, всегда будете получать web-страницу с подтверждением, в которой содержится тот же самый текст, что и в сообщении. Процедура отказа от подписки аналогична: администратор определяет, должно лн посылаться подтверждение, но на сайте в любом случае выводится соответствующая web-страница. Чтобы протестировать выполнение этой операции, откройте ссылку, присутствующую в предыдущем сообщении, это приведет к открытию браузера и выводу сообщения, представленного на рисунке на стр. 839.

Вы получите точно такой же результат, еслн выберете опцию unsubscribe (отказ от подписки) в HTML-форме. У администратора есть также возможность добавлять или удалять подписчика с помощью страницы subscribers. aspx.
Практический пример 2 — Менеджер рассылки новостей в режиме онлайн

839

[ U ^ L’wxHuiiirr: sdncriptian - Mixi ? i-oll Irrtf.-rnct |Г fgUj
j| f«« hit f toiK ¦ i
а
1 До свидания, C# 3
j Вы исключены из списка рассылки Св. Почему вы приняли таход решение??? й
tfe)0«w , Л

Страница Subscribe.aspx

Код, предназначенный для создания этой страницы, является наиболее коротким из всех встречавшихся нам в этой главе:

<body> '

<аар:Label ID=*Subject’ runat="Server"

CssClass»"SubscrSubject* Visible*.'false* />

<asp:Label ID=’Hessage* runat1*Server"

CssClaes=*SubscrMessage' visible^*false* l>

<asp:Label runat=*вerver¦ ID«*BnailRequired* Visible»"false*

7ext“*The anail address is required* Cless=Eiror" />

<lbody>

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

Код поддержки для Subscribe.aspx

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

protected void Page_Load(object sender,EventArj e)

(

int SubscrlD; bool SendEmail;

ft считать ListiD, FirstHame, LastHazee, Email and Action tt из Query String, сгенерированной Формой HTML int ListiD “ int.Parse(Request.Parana!'ListiD'])> string FirstName * Request.Parama['FiretHSrae'J + * string LastName » Request.Parents['LastName*1 + ¦ 'Ii string anail = Request.Pararast'Bnail'l + ' ']; string Action « Request.ParamsI'Action*) + * ';

if {Snail.Triral)==¦*)

{

11 если объект Email не был определен,

И вывести сообщение об ошибке и завершить работу am lRequired. Visible = true;

)

else

<

string SubjectTextj string MessageText;
840

Практический пример

II создать объекты для работы с установками,» с подписчиком NewsHailer.AppSettings settings «

NewsHailer.AppConfig.GetSettings(

. Server.MapPath(GetSettingsPile О)) i

NewsHailer. SubscribersDB subscribers * new NewsHailer.SubscribersDB(GetConnString())i

// лишение подписки

if (Action.ConpareTof'Unsubscribe*)=*0>-(

II считать сообщение от подписчика

//и проверить, требуется ли под 1ер*давшяй ответ no Email SendEmoil = settings.SendUnSubacrEmail;

SubjectText B settings.UnsubscrSubject;

HessageText = settings.UnSubscrHessage;

// считать ID того подписчика из Email SubscrlD “ subscribers.GetSubscrlD(ListID, Email);

// заменить теги этого подписчика

HessageText “ NewsHailer.Utilities.ProcessSubscriberTags!

Предыдущая << 1 .. 389 390 391 392 393 394 < 395 > 396 397 398 399 400 401 .. 404 >> Следующая
Книги
Web-программирован-
ие
Аппаратное обеспечение Графика Руководство по П.О. Самоучитель Теория программирования Фотошоп Языки программирования
Новые книги
Вирт Н. "Систематическое программирование " (Теория программирования)

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

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

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

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