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

С# - Ватсон К.

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


Сохраняет строку FileText в заданном файле и возвращает логическое значение, свидетельствующее об успешном нлн неуспешном завершеннн операции

Заменяет теги списка, обрамленные символами **#", на значения, хранящиеся в базе данных

Заменяет теги подписчика, обрамленные символами на значения, хранящиеся п БД

Заменяет теги установок, обрамленные символами на значения, хранящиеся в БД

? OEirft 11 u f)njL ft

Lilt'» I Vnl>\(inL.« I jVmJ L ihoJ < ,\i,n^.,|iiluiv I OU't Wi/.iirl lovi' l ilu'j»»:. 1

“3


? IF н |*п , ¦ Н _ _ :'г ЦТ/Hist-' .Ifcl 5 « «г-.. _ se Bnv* ]шшегля1
5Г Л н*--* * С» - lii'f f • ». .. i га Hfr-t * fAi ?¦- tee • l .. г 3 ' 13 tffft'k lH j*

Г - 14 II ,1

ТЬЗ oi вдjkttxatifcj'f?

Работа с архивом новостей

Страница архива новостей выводит псе предыдущие новости для всех списков рассылки либо в виде прямого текста, либо в виде HTML — в зависимости от того, в каком формате они отправлялись. На рисунке слева представлен внешний вид страницы архива.

Страница NewsHistory. aspx

Эта страница использует управляющий элемент табличного представления данных, но вместе с тем она обладает
Практический пример 2 — Менеджер рассылки новостей в режиме онлайн

831

некоторыми уникальными особенностями. Обратите внимание на то, что выбранный ряд выводится другим цветом, нежели все остальные, а у столбца ishtml есть окно выбора, указывающее на то, должен ли вывод производится в виде HTML. Поле Date указывает на дату отправления данного сообщения. Поскольку большая часть кода не отличается от кода предыдущих страниц, мы не будем приводить весь текст полностью, а приведем только код, описывающий столбцы ishtml и Date.

<Columns>

. . . Code removed for clarity

<asp:BoundColumn HesderText®"Subject* DataField="Subject¦ ReadOnly="True" SortExpression="Subject" />

<asp:TempiateColumn HeaderText="IaHTML'

ltemStyle-Width=’6Gpx* ltemStyle-HorizontalAlign="Center’> <ItemTemplate> ¦

<asp:CheckBox runat=*server" Enabled»"false"

Checked='<tl

(bool)DataBinder.Eval(Container.Dataltera, 'IsHTML'j %>'

/>

-</ItemTemplate>

</asp:Temp1at eColumn>

<asp:TemplateColumn HeaderText^’Date"

SortExpress ion*'SentDat a * It emSty1e-Width=¦9 Opx">

<ItemTemplatei

<aap:Label runat^'aerver"

Text='<%* Btrinp,Fonnat("(0:MM/dd/YY)',

DateTime.Parse{DataBinder.Eval{Container.Dataltern, *SentDate'> .ToStringO ) ) %>'

/>

</ItemTemplate>

</aep: TernplateColumn>

Как и для страницы Send Email, где мы привязываем общую переменную к текстовому окну, в данном случае столбец ishtml может использоваться в режиме “только чтение", и в нем содержится отключенное окно выбора (отключенное, поскольку информация о прошлых сообщениях не может изменяться администратором посредством этой страницы), значение которого устанавливается в соответствии со значением поля ishtml таблицы NewsHistory, хранящейся в базе данных, и приводится к типу bool.

Чтобы получить значения ПОЛЯ Date, используется метод DateTimeParse (), позволяющий преобразовать строку из базы данных в значение типа DateTime, которое затем снова преобразовывагтся в строку для вывода на экран.

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

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

protected void NeweGricLSelectionchanged(object sender, EventArgs e)

{

string Body;

NewsMailer.NewsHistoryDB news * new NewsMailer.NewfiHieroryDB(GetConnString(|)i
832______________________________________________________________________Практический пример

11 получи1) ID добранной строки

int NewsID ¦ int.Parae(MaweGrid.DataXeye[NeweGrid.SelecCedlndex].ToStringI))»

// получать массив новостей из вазы данных

Body = news. GetDetails(NewsID) I'Body! .ToStringO ;

// если формат новостей не HTML, осуществить кодировку текста Body i? ([Convert.ToBoolean(news.GetDetails(NewsID)['IsHTML']))

Body ” HttpUtility.HtmlEncode(Body);

// заменить новые строки символами <Ьг>, чтобы показать их а элементе Label Body “ Body.Replace('\n*, *,br>*>)

Body = Body.Replacef'S'f1", ' *); ’

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

MsgPrevi-v.Text * Body;

Meg Preview.Visible = true;

Обратите внимание на то, что нам не приходится в данном случае заменять никаких специальных тегов, поскольку все онн были заменены перед тем, как сообщение было помещено в архив, хранящийся в базе данных.

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

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

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

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

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