|
Программирование >> Asp.net
Рис. 37.7. Созданная форма для заказа комнаты совещаний Здесь для начала выбирается текущая дата. Обратите внимание, что свойство IsPostBack страницы используется для того, чтобы определить, был ли вызван метод Page Load() в результате действия обратной отправки. Если обратная отправка все еще выполняется, значение этого свойства будет true, тогда мы оставляем выбранную дату в покое (поскольку не хотим потерять выбор, сделанный пользователем). Для добавления обработчика щелчка на кнопке необходимо просто дважды щелкнуть на кнопке в визуальном дизайнере и ввести следующий код: private void submitButton Click(object sender, EventArgs e) if (this.IsValid) resultLabel.Text = roomList.SelectedItem.Text + has been booked on + calendar.SelectedDate.ToLongDateString() + by + nameBox.Text + for + eventBox.Text + event. ; foreach (ListItem attendee in attendeeList.Items) if (attendee.Selected) resultLabel.Text += attendee.Text + , ; resultLabel.Text += and + nameBox.Text + will be attending. ; Здесь мы просто устанавливаем свойство Text элемента управления resultLabel в значение результирующей строки, которая затем появится под главной таблицей. В браузере Internet Explorer результат такой передачи может выглядеть примерно так, как показано на рис. 37.8, если только не возникнут ошибки, которые вместо этого приведут к активизации ValidationSummary (рис. 37.9). Рис. 37.8. Передача информации о заказе комнаты совещаний Рис. 37.9. Ошибки, связанные с отсутствием сведений о совещании и об участниках ADO.NET и привязка данных Приложение Web Forms, которое мы разработали в предыдущем разделе, вполне функционально, но содержит только статические данные. В дополнение процесс заказа не предусматривает хранения постоянных данных о событиях. При решении обеих проблем мы можем воспользоваться ADO.NET для организации доступа к информации, хранящейся в базе данных, с тем, чтобы получить возможность сохранять и извлекать данные о событиях вместе со списками комнат и участников. Привязка данных делает процесс извлечения информации еще проще. Такие элементы управления, как окна списков (и некоторые из более специализированных элементов, которые мы рассмот- рим позже), готовы для применения этой технологии. Они могут быть привязаны к любому объекту, реализующему интерфейс IEnumerable, ICollection или IlistSource, а также к любому источнику данных Web-серверных элементов управления. В этом разделе мы начнем с обновления нашего приложения, чтобы оно было способно работать с данными, а затем перейдем к рассмотрению других результатов, которых можно достичь с помощью привязки данных к некоторым другим Web-сер-верным элементам управления. Усовершенствование приложения заказа мероприятий Чтобы отделить нововведения от предыдущего примера, создадим новый Web-сайт с именем PCSWebApp3 в каталоге C:\ProCSharp\Chapter37\ и скопируем код ранее созданного нами приложения PCSWebApp2. Прежде чем начать писать новый код, взглянем на базу данных, с которой нам придется иметь дело. База данных Для данного примера мы используем базу данных Microsoft SQL Server Express под названием MeetingRoomBooker.mdf, которая представляет часть кода примеров этой книги, доступного для загрузки. Для приложений масштаба предприятия имело бы смысл использовать полную базу данных SQL Server, но почти идентичная технология разработки, которую предполагает SQL Server Express, позволяет несколько упростить тестирование. Код также будет идентичен. Если вы добавляете собственную версию этой базы данных, то для этого придется добавить новую базу в папку App Data в проводнике Solution Explorer. Для этого щелкните правой кнопкой мыши на папке App Data и выберите в контекстном меню пункт Add New Item (Добавить новый элемент). Выберите базу данных, назвав ееMeetingRoomBooker, и щелкните на кнопке Add (Добавить). При этом в Solution Explorer также будет настроено соединение с источником данных, готовое к использованию. Далее вы сможете добавить необходимые таблицы, как показано в следующих разделах, и ввести свои собственные данные. В качестве альтернативы можно воспользоваться готовой базой данных, загруженной вместе с кодом; просто скопируйте ее в каталог App Data вашего Web-сайта. Предложенная база данных содержит три таблицы: □ Attendees, содержащая список участников мероприятия; □ Rooms , содержащая список возможных комнат для проведения мероприятий; □ Events, содержащая список запланированных мероприятий. Attendees Таблица Attendees содержит столбцы, перечисленные в табл. 37.5. Таблица 37.5. Структура таблицы Attendees
Поставляемая база данных включает 20 записей участников, все с их собственными (фиктивными) адресами электронной почты. Можно предположить, что в более развитом приложении сообщения электронной почты могут рассылаться автоматически
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |