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

С# - Ватсон К.

Ватсон К. С# — Лори, 2005 . — 879 c.
ISBN 1-861004-98-2
Скачать (прямая ссылка): vatsonc2005.pdf
Предыдущая << 1 .. 328 329 330 331 332 333 < 334 > 335 336 337 338 339 340 .. 404 >> Следующая


)

После того как файл Defauit.aspx будет перезагружен, метод GetAllSntries () вернет полный список файлов, включая и только что созданный.

Редактирование вхождений web-регистратора

Теперь у нас есть форма, которую можно использовать для создания новых вхождений. Но может ли она пригодиться для редактирования уже существующих XML-файлов на диске?

В этом разделе мы познакомимся с тем, каким образом нужно изменить приложение, чтобы редактировать уже имеющиеся вхождения.

Практинум: редактирование вхождений web-регистратора

1. Откройте Designer ДЛЯ Defauit.aspx.

2. Щелкните правой кнопкой мыши на управляющем элементе DataList и выберите пункт меню Edit Template | Item Template.

3. Воспользовавшись окном с инструментами, перенесите мышыо управляющий элемент Hyperlink и разместите его рядом

с управляющим элементом Label зеленого цвета (см, рис, на стр, 715).
Приложения ASP.NET

715

ctatdli$tEntries ¦- tJLem Templates

ййа RjtingReiJiT agpfate ¦

SdectedltuWr eftobt b

EditttemTem

8.

4. Используя окно Properties, выберите свойство DacnBindinas управляющего элемента Hyperlink.

Из списка, расположенного слева, выберите пункт NavigateUrl.

5. Щелкните мышью на переключателе Custom binding

expression и введите следующее выражение:

(

'edit.aspx?filename=' + DataBinder.Eval(Container,

'Dataltem.Filename')

6. Щелкните мышью на OK чтобы сохранить изменения в привязке,

7. Снова воспользуйтесь окном Properties — измените значение свойства Text управляющего элемента Hyperlink на Edit, а Значение свойства CasClase — на entry.

Откройте редактор кода для файла Global, asax.

Найдите метод LoadEntry () и внесите в него следующие изменения:

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

(

/ / У нас есть имя, теперь необходимо узнать путь. .,

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

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

FileStream file = new FileStream(filepath, FileHode.Open);

II создание сериализатора...

XmlSerializer serializer = new XmlSerializer(typeof(Entry)); Entry newEntry = (Entry)serializer.Deserialize(file);

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

file.CloseO ;

// обновление времени, даты и имени файла.. .

newEntry.Timestamp = new Fiieinfo(filepath).LastWriteTime;

newEntry.Filename = filename;

// возврат вхождения,.. return ncwEntryj

)

Запустите проект. Щелкните мышью на ссылке Edit, и вы увидите, что появится форма Create New Enlry. Но самое интересное — это линейка Address. Имя XML-файла, в котором содержатся данные текущего вхождения, оказались “встроенными” в URL-адрес:

|] Adtfress ^0 http;//localhost/WebLog/ecfc,aspx?filename=20010718_1419, xml (^60 -,

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

На данный момент мы пока еще не умеем редактировать нашу страницу, однако очередной задачей являетей внесение таких изменений в Edit.aspx и Edit.asp.es, которые позволят нам найти имя файла соответствующего вхождения в URL-адресе и загрузить вхождение. -
716

Глава 24

Самое интересное здесь — это привязка данных. Мы привязываем свойство Naviaateuri нового управляющего элемента Hyperlink к следующему выражению:

'edit.aspx?filename=' + DataBinder.Eval(Container, 'Dataltem.Filename')

Можно увидеть, каким образом — на каждой итерации по массиву объектов Entry — извлекается значение свойства Filename очередного объекта и присоединяется В конец строки edit,aspx7filenames Это ПОЗВОЛЯет получить ПОЛНЫЙ URL-адрес.

Загрузка выбранного вхождения

Чтобы загрузить выбранное вхождение в момент просмотра Edit.aspx, требуется всего лишь отыскать “параметр” filename, который может быть, а может и не быть включен в URL-адрес,

Практинун: загрузка выбранного вхождения

1. Откройте редактор кода для файла Edit.aspx.es. Найдите метод Paae_Load() и добавьте следующий код:

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

(

// сохранена ли страница7 if(IsPostBack == true)

(

// создание объекта для нового вхождения.. .

Entry newEntry = new Entry () ;

H есть ли у нас имя файла, которое следует использовать? if(Request.Parame['filename'J J* null)

' newEntry .Filename = Request .Parame [ 'filename’] j

// присваивание значений...

• newEntry .Title = textTitle.Text;

newEntry .Details = textDetails.Text;

// сохранение вхождения... newEnt ry.Save();

/ / вывод списка...

Response.Redirect('default,aapx') ;

)

else

{

// удалось пн нам подучить имя файла?

. String filename 3 Request.Params['filename'J;

if(filename != null)

(

П загрузка объекта вхождения...

Entry entry * Global .LoadEntry (filename) ;

Н наполнение его полей.,. textTitle.Text =» entry.Title; textDetails.Text = entry.Details;

)

)

)

Запустите проект. Теперь, если вы щелкните мышью на ссылке Edit, то вхождение будет загружено в новую страницу. Все изменения, внесенные в данные текущей формы, будут сохранены в XML-файле после нажатия Save Changes.
Приложения ASP.NEH'
Предыдущая << 1 .. 328 329 330 331 332 333 < 334 > 335 336 337 338 339 340 .. 404 >> Следующая
Книги
Web-программирован-
ие
Аппаратное обеспечение Графика Руководство по П.О. Самоучитель Теория программирования Фотошоп Языки программирования
Новые книги
Вирт Н. "Систематическое программирование " (Теория программирования)

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

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

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

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