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

С# - Ватсон К.

Ватсон К. С# — Лори, 2005 . — 879 c.
ISBN 1-861004-98-2
Скачать (прямая ссылка): vatsonc2005.pdf
Предыдущая << 1 .. 320 321 322 323 324 325 < 326 > 327 328 329 330 331 332 .. 404 >> Следующая


private void Page_Load{object Bender, System.BventArgs e)

(

// какой сейчас год? int year = DateTime.Now,Year; if (year *== 2001)

labelcopyright.Text - 'Copyright ficopy; Disraeli ' + year; elee

labelcopyright.Text = "Copyright Ьсору; Disraeli 2001-' + year;

// задание пути к серверу.., labelServerPath.Text “ Global.EntryFilePath;

)

14. Добавьте этот код, чтобы использовать общий метод в Global для создании нового объекта Entry на основе данных, хранящихся d файле Entry.xml, а затем наполните те управляющих элемента, которые были только что добавлены:

private void Paae_Load(object sender. System.EventArgs e)

{

// определение пути ic серверу. . . labelServerPath.Text = Global.EntryFilePath;

|Ч5»> дЕОрццеЦ, Weblog v®

ЕЖЗЗЫе!SsEl

V] a ? п .

И

7<Uv~1
Приложения ASP.NET

695

i/ загрузка вхождения с диске...

Entry entry * Global.LoadEntry ('Entry.юл1*> j labelEntryTitl Text = entryTitle; labelEntry Details.Text - entryDetailsi

}

Запустите проект. Вы увидите то, что изображено на рисунке справа.

15. Чтобы убедиться, что изменения загружаются с диска, воспользуйтесь Notepad, чтобы еще раз отредактировать файл Entry.xml. Измените данные так, чтобы онн приняли следующий -вид:

liit-iU in 'Л fWcU\ai|.-1Dcr-ji:V ,»>¦• р!

Dwrteb't Weblog Hello*

Thest ire the details of the Weblog iniry Copyiyjht О Duraeii ZOO 1 eAanetpubWwwroo'VWebLo^Entnes Blaw .

d

4,

<?xml version="l,0"?>

<Entry xmlne:xsi=‘http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XHLSchema*>

<Titl< Hello, again!</Tjtle>

<Decalls>l*ve changed the details la the XML file.. .</Details>

</Entry>

jlftifSt/WL-bl cq adf.-nfM - Min >»

L3l

tit Vi¦» 'bwtaif. T'jda

4 ¦ J Д]

Ditrub'i Weblog Helo, (gain!

I have changed the deUuk in the XML Be... CopyngbJ О Diuaeb 2001 c:Vactpub’wwwroot\WebL>g(EiitrKi

(№иМ .

16. Сохраните этот файл и обновите страницу в Internet Explorer. Вы увидите внесенные изменения (см. рис. слева).

Как это работает

Первое, что мы сделали в Global.авах,— это повторно воспользовались методом server.MapPath для получения физического пути к виртуальной директории Entries, который можно использовать в программе. После получения первого запроса на .aspx-страницу вызывается метод Application_start<), позволяющий задавать глобальные данные приложения (или глобальные данные сайта). В данном случае мы сохраняем физический путь в общем члене EntryFilePath:

protected void Application_Start (object sender, EventArgs e)

{

|j.~l ^ Г s3s•

/ / присвоение значения физического пути общему члену... EntryFilePath * Server.MapPathl'Entries'>;

)

Теперь мы подходим к статическому методу LoadEntryO, который загружает XML-файлы с данными из папки с вхождениями и переносит содержимое в определенный нами класс Entry. Для этого используем класс xmlSerializer из пространства имен System.Xral.Serialization. Далее вызывается его метод Deserialize о , который принимает XML-строку из файла и преобразовывает (десериализует) находящиеся в ней данные, чтобы использовать их для присвоения свойствам объекта, которые хранятся в экземпляре класса Entry,

// LoadEntry - загрузка вхождения с диска... public static Entry LoadEntry(String filename)

(

II у нас есть название, но нам необходим путь. . .

String filepath = EntryFilePath + *\\' + filename;

/ / открытие файла...

Filestream file = new Filestream (filepath, FileMode.Open);
696

fjiaaa 24

II создание сериализатора и использование его для наполнения свойств // вновь созданного объекта Entry.. .

XmlSerializer serializer = new XmlSerializer(typeof(Entry));

Entry newEntry = (Entry)serializer.Deserialize(file);

// закрытие файла... file.Close() ;

II возврат вхождения,.. return newEntry;

)

Из Default.aapx.es мы опять настраиваем обработчик событий Load, На этот раз мы исходим из предположения, что XML-файл всегда называется Entry.xml; после этого мы присваиваем свойство Text каждому из управляющих элементов следующим образом:

private void Page_Load(object sender, System.EventArgs e)

{

II хахой сейчас год?

int year = DateTime.Now.Year;

if(year == 2001)

labelcopyright.Text = "Copyright icopy; Disraeli ¦ + year; else

labelcopyright.Text = "Copyright ficopy; Disraeli 2001-' + year;

// определение пути к серверу...

labelServerPath.Text = Global.EntryFilePath;

11 загрузка вхождения с диска..,

Entry entry = Global.LoadEntry ('Entry .xml"); labelTSntryTitle.Text = entryTitle; labelEntryDetails.Text * entryDetailaj

}

Вывод времени

Теперь нам предстоит вывести время рядом с вхождением. Для этоГ( цели мы собираемся использовать значение времени, когда этот файл был сохранен последний раз, и поместить это значение в свойство вхождения Timestamp. После этого мы сможем немного изменить код, чтобы он сначала выводил дату и время, а затем всю остальную информацию вхождения,

Практикум: вывод времени

1. Для определения времени мы воспользуемся значением, когда данное вхождение изменялось последний раз. В большинстве случаев это будет время последней записи вхождения на диск,
Предыдущая << 1 .. 320 321 322 323 324 325 < 326 > 327 328 329 330 331 332 .. 404 >> Следующая
Книги
Web-программирован-
ие
Аппаратное обеспечение Графика Руководство по П.О. Самоучитель Теория программирования Фотошоп Языки программирования
Новые книги
Вирт Н. "Систематическое программирование " (Теория программирования)

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

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

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

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