This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Разработка интерактивных сайтов с помощью Microsoft Visual Web Developer Учебный курс Бельчусов Анатолий Александрович
2007
Москва
Модуль 4. Дизайн страниц..............................................................................1 Тема 1. Создание и использование мастер страниц................................1
Оглавление Предисловие ................................................................................................... 1 Модуль 1. Планирование сайта..................................................................... 1 Тема 1. Этапы создания сайта ................................................................ 1 Тема 2. Эскизы страниц ............................................................................ 1 Тема 3. Ошибки в web-дизайне.................................................................. 1 Лабораторная №01.................................................................................... 1 Модуль 2. Начало работы с Microsoft Visual Web Developer....................... 1 Тема1. Элементы интерфейса Visual Studio.Net ................................... 1 Тема 2. Создание нового и открытие уже существующего сайта........... 1 Тема 3. Редактирование документов сайта.............................................. 1 Лабораторная №02.................................................................................... 1 Модуль 3. Создание и редактирование страниц ......................................... 1 Тема 1. Элементы управления и их свойства .......................................... 1 Лабораторная №03.................................................................................... 1 Тема 2.Работа с кодом C Sharp. ................................................................ 1 Лабораторная №04.................................................................................... 1 Тема 3. Запуск и отладка проекта ............................................................. 1 Лабораторная №05.................................................................................... 1
Лабораторная №06 ....................................................................................1 Тема 2. Использование CSS.......................................................................1 Тема 3. Использование тем.......................................................................1 Лабораторная №07 ....................................................................................1 Тема 4. Создание карты сайта.................................................................1 Лабораторная №08 ....................................................................................1 Модуль 5. Работа с базами данных...............................................................1 Тема 1. Создание базы данных и подключения .......................................1 Лабораторная №09 ....................................................................................1 Тема 2. Отображение информации из базы данных...............................1 Тема 3. Управление базой данных ............................................................1 Лабораторная №10 ....................................................................................1
Предисловие Прежде чем приниматься за какое-либо дело нужно хорошо подумать, а для чего и для кого я это делаю? А ответив на эти вопросы тщательно подготовиться к выполнению задуманного, чтобы не испытывать трудностей и задержек в процессе работы. Так же и в создании сайтов. Программных продуктов ориентированных на их создание имеется много: больше всего известны Microsoft SharePoint Designer (Microsoft Front Page) и Macromedia Dreamweaver. Однако сегодня все больше фирм и частных лиц хотят иметь не просто сайт, а разместить в сети некий сервис, который мог бы осуществлять интерактивное взаимодействие с посетителем сайта. Часто, этот сервис является развитием программного продукта, которым занимается фирма. Например, это может быть переводчик с одного языка на другой. То есть windows приложение уже имеется, а хотелось бы получить аналогичное web приложение. Тут обычные web редакторы не помогут! Нужна среда разработки, одновременно поддерживающая и стандартный web интерфейс, и позволяющая работать на современном языке программирования. Microsoft Visual Web Developer претендует на то чтобы занять эту нишу.
Модуль 1. Планирование сайта Планирование сайта это сложный организаций процесс, от него зависит и скорость разработки, и качество готового продукта и самое главное - стоимость сайта. Поэтому нужно тщательно продумывать каждый этап, обсуждать его с коллегами и приглашенными экспертами. Ведь над сайтом, как правило, работает целая группа, состоящая из следующих специалистов: ■ разработчик контента; ■ web-маркетолог; ■ web-дизайнер; ■ web-мастер; ■ web-программист; ■ web-администратор.
При разработке сайта в Microsoft Visual Web Developer вы сможете выполнить работу за последних трех специалистов самостоятельно. Однако, при планировании сайта все же лучше привлечь к этой работе всю команду. В итоге, после завершения всех этапов вы должны получить следующие документы: ■ общая концепция сайта; ■ график работы над проектом; ■ эскизы основной страницы и страниц более низкого уровня; ■ критерии, по которым будет оцениваться готовый проект.
Тема 1. Этапы создания сайта Избегайте
пространных
и
двусмысленных формулировок. Будьте
объективны
используйте
и
разностороннюю
входную информацию. Все это поможет
вам
сгенерировать
опорную идею своего сайта и подойти
вплотную
определению его названия
Если вы хотите предугадать, какие эмоции вызовет название у потенциальных посетителей, то можете воспользоваться программой ВААЛ-мини. В ней реализованы алгоритмы оценки
к
Работу над сайтом лучше всего разбивать на этапы, после каждого этапа желательно письменно фиксировать полученные результаты и принятые решения, так как они будут служить отправной точкой для работы по следующему этапу. Как правило, в разработке сайтов выделяют около семи этапов. 1. Обзор имеющихся решений. Не может быть, Таблица 1. SWOT анализ web сайта чтобы до вас никто не делал чего-нибудь Сильные стороны Слабые стороны подобного, ну хотя бы Сильные и слабые стороны — это характеристики оформления и частично. Поэтому содержания сайта, а, следовательно, вам подконтрольные, вы их стоит запастись можете изменить. терпением и провести Сильные и слабые стороны могут считаться таковыми лишь в один день в поисках том случае, если так их воспринимают посетители аналогичных аналогичных сайтов проектов в сети Возможности Угрозы Интернет. Я думаю, что полдюжины Возможности и угрозы связаны с характеристиками аудитории интересных находок и неподвластны вашему непосредственному влиянию вам гарантировано. Ознакомившись с ними, вы должны произвести их SWOT анализ, т.е. анализ сильных и слабых сторон, основных идей и используемых технических приемов. После этого вам легко будет определить, чем вы станете отличаться от уже существующих проектов, а что захотите позаимствовать. Такой анализ лучше выполнять в форме, представленной в Таблица 1 2. Концепция сайта
фонетического воздействия на
■ Название сайта
человека слов и текстов
Название сайта должно отражать не только общую тематическую направленность, но и конкретные отличительные особенности вашего сайта. Оно должно быть лаконичным, запоминающимся очень хорошо, если оно будет как-то связано с интернет адресом вашего
русского языка.
ресурса и будет способствовать его запоминанию. Помните: «Как вы яхту назовете так она и поплывет». ■ Назначение и предполагаемая аудитория
Вы не можете взять человека за руку и привести на свой сайт, но вы можете разместить на сайте материалы, которые будут интересны многим людям, или выбрать свою узкую специфическую аудиторию, предпочтения которой вы хорошо знаете. Вы должны составить себе портрет потенциального посетителя вашего ресурса: какого он возраста, какое имеет образование, чем он занимается профессионально, как проводит свободное время. Стоит также подумать над тем, сколько времени он предположительно проведет на вашем сайте и что может привлечь его повторно посетить ваш сайт. В связи с этим стоит обратиться к социологии, так в ряде исследований в общих чертах представлен обобщенный портрет интернет пользователя. По данным исследования ROMIR Monitoring Рунет пока остается преимущественно "мужской территорией": в русскоязычной Сети все еще преобладают представители сильной половины человечества (56%). Мужчины ориентированы на получения новостей, и конечно, они более частые гости сайтов по программированию и компьютерным технологиям. Представительницы прекрасной половины в основном используют интернет как средство общения (через почтовые службы), также среди них более популярны сайты, посвященные образованию и Рисунок 1. Процентное посещение сайтов разной тематики интернеттуризму. Более подробная информация представлена на Рисунок 1 пользователями (по данным холдинга ROMIR Monitoring). Лучше всего возможности мировой паутины освоили молодые люди: средний возраст пользователя в 2005 году - 30 лет. Группа молодых рунетчиков - от 18 до 24 лет наиболее многочисленна (35% россиян в этом возрасте заходят в интернет). Вопреки ожиданиям, подростков в Интернете оказалось не много: 2,6% опрошенных в возрасте до 16 лет и 5,6% - в возрасте 16-17 лет (по данным исследования "Онлайн Монитор", агентство МАСМИ).
Прежде чем решить, какую структуру и систему навигации должен иметь сайт, вам необходимо не только детально разобраться, что будет на нем после создания, но и рассмотреть все возможные сценарии его развития на несколько лет вперед.
Для молодой аудитории Рунета Сеть - это в основном средство развлечения. Наиболее популярны у молодежи сайты, посвященные компьютерам и программированию, музыке, а также сайты о кино и видео. Пользователи средней и старшей возрастной групп чаще, чем более молодые интернетчики, посещают новостные сайты, сайты интернет-магазинов, а также сайты, посвященные бизнесу и финансам. Уровень дохода россиян, периодически заглядывающих в Сеть, в основном средний. Хотя, конечно, самый высокий процент (29%) пользователей интернета оказался в группе респондентов с высоким уровнем дохода. Соотношение социальных групп в Рунете выглядит следующим образом: преобладает высокообразованная аудитория - 46,9% пользователей имеют высшее образование и 25,8% - незаконченное высшее. Люди, назвавшиеся рабочими, редко используют широкие возможности всемирной паутины - всего 4,8% из опрошенных. Немало в Рунете также студентов (21%). Наиболее активно в интернете работают руководители высшего и среднего звена, а также предприниматели. Интернет-пользователи из этих социальных групп заходят в сеть, как правило, каждый день. ■ Информационное наполнение сайта
Кроме этого также надо подумать над обновлением информации: какие именно из страниц сайта должны обновляться, как часто это должно происходить, кто это будет делать, будут ли в этом процессе участвовать пользователи сайта?
Составление контента, или содержания, сайта, является одним из важнейших этапов разработки. Если на сайте нет полезной информации, способной заинтересовать определенный круг людей, можно ставить вопрос о необходимости существования сайта как такового. Надо учитывать, что для Web-страничек характерен свой способ представления информации: в основной статье излагаются общие вопросы, а более подробное их освещение выносится на отдельные странички, переход к которым осуществляется по ссылкам. Если же предполагается, что текст будут распечатывать, то стоит подумать о создании специальных «страничек для печати», которые должны содержать полные тексты статей. 3. Логическая структура сайта и построение системы навигации ■ Логическая структура сайта
Логическая структура сайта показывает, каким образом информация распределяется по страницам сайта и как она может быть получена пользователем. Хорошая структурированность сайта обеспечивает половину успеха при его создании. Ошибки на этом этапе впоследствии приведут к большим затратам сил на их исправление. Подавляющее большинство крупных узлов, будь то каталог, корпоративный узел или информационный узел, имеют структуру следующего вида. На верхнем уровне организуется плоская структура документов. В нее входит домашняя страница, а также, в зависимости от
направленности узла, группа вспомогательных документов и/или индексы разделов. Очень часто все они полностью или частично взаимосвязаны друг с другом. Из этих разделов или же прямо из домашней страницы вырастают документы древовидных структур. «Листьями» этих «деревьев» могут быть отдельные документы, плоские или линейные структуры. Для представления логической структуры сайта древовидными можно воспользоваться организационными диаграммами, которые удобно составлять в программе ConceptDraw MINDMAP Professional (Рисунок 2) ■ Построение системы навигации Навигация по сайту - это тот механизм, который позволяет посетителю найти интересующую его информацию. Он опирается на логическую структуру сайта и помогает пользователю быстро по ней перемещаться. Эффективность навигации можно оценить правилом «трех кликов», которое состоит в том, что к любому документу, находящему на сайте, можно попасть с главной страницы, не более чем по трем ссылкам. перейдя Рисунок 2. Структура сайта, выполненная в программе ConceptDraw MINDMAP Professional Система навигации не должна отягощать страницу и отвлекать от ее содержимого. Если у вас большие документы, то целесообразно помещать ее внизу, что позволит посетителю по окончании чтения или просмотра перейти в следующее интересующее его место, не проматывая весь документ обратно в начало. Элементы локальной навигации лучше всего визуально отделять от элементов глобальной, но так, чтобы они, в тоже время, выглядели как единое целое. Всегда оставляйте для посетителя возможность перехода на главную страничку публикации, поскольку многие люди будут попадать на страницы вашего сайта через поисковые системы, а не сразу заходить на первую страницу. На этот случай дублируйте навигационную систему на всех страничках или сделайте так, чтобы они имели переход на
основную страницу. Если вы выполняете навигационную панель графическими средствами, обязательно сделайте текстовую копию и поместите ее где-нибудь снизу (текст в любом случае загружается быстрее графики). 4. Разработка визуальной составляющей сайта. Для Web-сайта, как, впрочем, и для других дизайнерских проектов, очень важен стиль, придающий сайту собственное лицо и узнаваемость. Можно выделить следующие элементы, участвующие в создании стиля:
Кроме того, для полноценной работы необходима раскрутка Web-сайта, которая включает в себя не только его регистрацию во всех возможных поисковых системах, но и размещение информации в СМИ, а также упоминание о вашем сайте на визитках, рекламках, в газетных и журнальных статьях и т. д.
■ шрифт - в пределах публикации он должен иметь одинаковые характеристики (начертание, высоту, цвет); ■ абзац - желательно, чтобы преобладал какой-нибудь один из видов выравнивания текста на страничке; ■ цветовая схема Web-сайта - выбор тех трех цветов страницы, которые будут использоваться для представления обычного текста, ссылок и посещенных ссылок. Цветовая схема должна повторяться на всех страничках публикации, это создаст у посетителя ощущение связности сайта. Цвета ссылок выбирают таким образом, чтобы они были заметны и в то же время не мешали читать основной текст; ■ графическое оформление сайта - должно укладываться в общую цветовую схему.
Результатом этого этапа должен быть окончательный эскиз Web-странички. 5. Написание кода. Работа включает в себя написание кода для обработки тех или иных действий пользователя, более подробно рассматривается в остальных модулях. 6. Публикация и тестирование Публикация заключается в размещении сайта на сервере организации, предоставляющей такие услуги. Перед публикацией вы должны определиться, стоит ли иметь свой платный домен второго уровня в сети или воспользоваться бесплатным местом на другом домене (третьего или даже четвертого уровня); во втором случае вы должны убедиться, что вы получите доступ к Internet Information Service с поддержкой ASP.NET 2.0. На этом этапе проверяется удобство навигации, целостность данных, корректность ссылок и орфография.
Тема 2. Эскизы страниц Профессиональный сайт отличается от любительского прежде всего тем, что все страницы сайта выполнены в едином стиле. Чтобы выдержать стиль, проще вначале разработать шаблон страницы. Шаблоны удобны тем, что большинство страниц верстают по подобию одной страницы почти автоматически. Структура шаблона состоит из элементов, которые должны присутствовать на всех страницах сайта. Например, меню навигации, название темы, поле ввода информации, форма поиска, контактная информация. (см. Рисунок 3). Меню навигации удобнее расположить в верхней или в левой части страницы. Обычно разрабатывают один или в случае, когда хотят особо выделить домашнюю страницу сайта - два шаблона. Рисунок 3. Пример структуры информации главной страницы Теперь перейдем к созданию внешнего вида Web-страниц. Начнем с главной страницы. Традиция оформления главной страницы пришла из полиграфического дизайна. В книге или журнале есть функциональная необходимость присутствия обложки. Обложка - "лицо" книги. Главную страницу сайта также можно сравнить с "лицом" интерактивной мультимедийной книги - она определяет образ всего сайта. Существует два основных вида домашних страниц: презентационная и информационная. Презентационная страница создается для не очень больших узлов, она красиво оформляется, часто почти целиком состоит из графики и имеет малое количество ссылок. Такая страница, как правило, должна помещаться на экране. Информационная страница, наоборот, создается с использованием минимума графики и содержит большое количество информации. Многие известные Web-узлы не стесняются
«раздувать» ее до 3-х и более экранов. Ее главная задача - продемонстрировать посетителю обилие информации на узле и предоставить все самое актуальное. Независимо от вида домашней страницы существует несколько основных правил ее организации: ■ самая актуальная информация по возможности должна быть видна в первом экране; ■ элементы навигации (меню) должны быть очевидны и заметны, так как посетителю, зашедшему на сайт в первый раз, незнаком ваш стиль; ■ домашняя страница должна пояснять, чему посвящен этот узел, или же как-то привлекать внимание посетителя; Рисунок 4. Пример структуры информации второстепенной страницы
Второстепенная страница-шаблон, обычно содержит следующие элементы (см. Рисунок 4): ■ меню навигации по темам;
■ логотип; ■ тематическая графика; ■ название страницы; ■ поле ввода информации; ■ e-mail Web-дизайнера.
В отношении каждой порции информации, каждой картинки и каждой детали спросите себя, как отреагирует на это ваша аудитория.
Рисунок 5. Получилась тепло-холодная гамма цветов
Пока мы разработали только структуру страниц, состоящую из отдельных элементов. Теперь важно определить основные цвета пространства Web-страниц. Лучше не использовать больше трех цветов на одной странице, так как цвета активно влияют друг на друга. Желтый цвет "звучит" по-разному рядом с синим и серым: в первом случае он становится более ярким и насыщенным, а во втором выглядит более спокойно. (Рисунок 5) Если светло-серый цвет - фон страницы, тогда основной цвет элементов дизайна и шрифтов - синий. Желтый цвет будет работать как дополнительный к синему. Важно
определить соотношение количества желтого цвета и синего - серого. Необходимо определить количество каждого цвета так, чтобы "картинки" не терялись в пространстве Web-страницы. Воспользуемся "хорошим приемом", который поможет определить соотношение синего и желтого в пространстве серого цвета. Запустите графический редактор. Выберите светло-серый фон рисунка. Поместите на серый фон сначала два одинаковых квадратика разного цвета. Вы увидите, что желтый цвет очень активен. Он будет мешать восприятию картин: Уберите желтый цвет. Обратите внимание, что желтый цвет был нужен. Возникла проблема: желтый цвет мешает, но без него плохо. В чем дело? Дело в количественных отношениях цвета. Двигайте и меняйте количество и размер цветовых фигур до тех пор, пока не определите примерное количество каждого цвета в пространстве серого: Это не эскиз дизайна сайта, а "хороший прием", который помог определить количество синего и желтого цветов в пространстве серого. Теперь мы ясно видим, что желтый цвет нужен в небольшом количестве, чтобы оживить общий серо-синий колорит пространства. Таким образом, мы нашли цветовое решение нашего сайта. Если у Вас нет художественного опыта, не расстраивайтесь, есть проверенный временем математический способ найти гармонию в композиции при помощи закона золотого сечения. Этот закон часто используют профессиональные художники и дизайнеры. По закону золотого сечения пропорциональное соотношение двух отрезков должно быть 21/34 или наоборот. Воспользуйтесь разработанной схемой структуры информации, как основой для композиции элементов страницы. Чтобы определить точные размеры элементов, используйте структуру сетки или матрицы. (Рисунок 6) Сетку необходимо Рисунок 6. Сетка "золотого сечения" построить по закону золотого сечения. Пропорциональное соотношение размеров высоты и ширины прямоугольных ячеек сетки должны быть 21/34.
Расположите элементы страницы на сетке. Найдите размеры основных элементов, используя закон золотого сечения. Все размеры элементов композиции на Рисунок 7 были найдены при помощи законов золотого сечения.
Рисунок 7. Один из вариантов эскиза композиции элементов главной страницы
Тема 3. Ошибки в webдизайне Веб-критика, как и разработка сайтов, не являются точной наукой. Интернет развивается слишком быстро: ежечасно появляются новые мощные идеи и приложения, преобразующие старые представления или опровергающие их. Относительная значимость каждого из критериев меняется в зависимости от направленности сайта. Очевидно, например, что для новостного сайта информационное наполнение имеет большее значение, чем визуальное оформление, а для сайта, посвященного искусству, ситуация обратная. Ниже приведен список критериев с типичными ошибками, снижающими оценку сайта. Содержание. Содержание - это вся информация, представленная на сайте. Информационное наполнение сайта должно привлекать внимание посетителя и отвечать теме сайта. Кроме того, его форма должна соответствовать аудитории - Веб-материалы должны быть ясны, кратки и действенны в среде Интернет. Ошибки Устаревшая информация Чем дальше, тем хуже, так как множество сайтов сходной тематики продолжают постоянно обновляться и развиваться. Сейчас же, с развитием электронной торговли особенно важно не потерять доверия посетителей, а показать им устаревшую информацию – верный способ дать понять, чего стоит ваш сайт и ваши услуги. Отсутствие архивов
Старая информация – не значит плохая. Обратите внимание, что архивы и информация о старом товаре или продукте – как раз достоинство сайта, а не недостаток, и они очень сильно отличаются от устаревшей информации. Читателям она может оказаться полезной. Даже если новая информация оказывается гораздо полезней, у старой информации тоже найдется свой потребитель. Поддержка архивных данных на сервере увеличивает расходы по поддержке сервера приблизительно на 10%, а полезность и посещаемость ресурса возрастает при этом на все 50%. Архивы помогают также избежать появления на сервере ошибки 404, дают преимущество при создании ссылок на ваш ресурс на других серверах. Заголовки, не связанные с контекстом Заголовки и прочие смысловые элементы текста для web должны быть написаны по-другому, нежели для прочих средств массовой информации. В Интернете заголовки – это часть пользовательского интерфейса и навигационный элемент сервера. Заголовки часто вырезают из контекста для составления оглавлений, кратких обозрений сервера и т.п. Кроме того, именно заголовки в первую очередь считываются роботами поисковых машин. В любом случае, писать заголовки текстов для web нужно, имея перед собой две цели: ■ дать понять пользователю, какая информация ждет его за этой ссылкой так, чтобы ему не приходилось строить догадок; ■ не дать пользователю обмануться привлекательным заголовком
(никаких обманов – это может дать сиюминутный результат и поднять трафик сервера на короткий срок, но после вы можете никогда не суметь завлечь их на свой сайт снова, так как доверие к вам будет подорвано).
Структура и навигационные функции. Структура и навигационные функции характеризуют организацию информации на сайте и возможности перемещения между его разделами. Хорошая структура и навигация - это признаки эффективности и организованности сайта. Они позволяют пользователю сформировать мысленную модель представленной информации, определить, где находятся необходимые сведения и чего можно еще ожидать. Хорошие навигационные возможности дают возможность быстро добраться до нужного места и легко охватить содержание сайта как вглубь, так и вширь. Ошибки Малопонятная навигация по сайту Встречается это не так уж часто, но если есть, становится серьезной проблемой. Люди уже привыкли к определенным канонам в дизайне и навигации: логотип, он же ссылка на начальную страницу, слева вверху; ясное указание на то, к какой части сайта относится данная страница, и наличие ссылки на главную страницу этого раздела, т.д. Если такие базовые элементы навигации отсутствуют, пользователь может просто «заблудиться». Сложные адреса (URL) Сегодня люди уделяют Интернет-адресам меньше внимания, нежели раньше. Большинство сайтов сейчас имеют хорошую навигационную поддержку, и пользователи полагаются при определении тематики сайта именно на нее, а не на адрес. Тем не менее, все
каталоги (directories) и названия страниц должны быть связаны с тематикой и понятно названы, чтобы пользователь мог рассматривать сам URL как дополнительную помощь в навигации. Исчезнувшие ( ошибка 404) страницы Скорее всего, посетители сайта не застрянут на такой странице, так как большинство уже знает, что нужно просто «отсечь» конец адреса – и попадешь на главную страницу сервера. Правда, этот способ не всегда известен неопытным пользователям и раздражает опытных. Дизайн. Дизайн - это характеристика внешнего вида сайта. Сайт не должен быть просто симпатичной домашней страничкой, хотя и не обязан быть ультрасовременным или суперстильным. Критерии оценки визуального оформления высокое качество, уместность и соответствие той аудитории и задаче, на которые ориентирован сайт. Оформление должно производить впечатление на посетителя - или даже поражать его. Ошибки Прокрутка текста и усложненная анимация Пользователи отождествляют такой дизайн с рекламой, которую они уже научились автоматически игнорировать. Очень важно делать любые элементы навигации и содержания непохожими на тот рекламный дизайн, который преобладает сейчас в Интернете. Пользователи прекрасно распознают все, что не связано напрямую с темой ресурса, и заставить их прийти на ваш сайт вторично будет уже гораздо сложнее. Нестандартные цвета ссылок Продолжает оставаться проблемой, поскольку пользователи полагаются на цвета ссылок, чтобы
понять, какие страницы сайта они уже посетили. Опять же, когда игнорируются стандартные цвета ссылок, пользователь начинает автоматически щелкать мышкой на всех подчеркнутых словах в тексте, которые далеко не всегда являются ссылками Функциональность. Этот критерий характеризует технологическую сторону сайта. Хорошая функциональность означает, что сайт быстро загружается, что все его ссылки "живые", а технологии применяются к месту и отвечают предполагаемой аудитории. Возможны решения, когда в случае необходимости сайт самостоятельно обеспечивает переход на альтернативные страницы. Хорошая функциональность - это технология, которая не бросается в глаза. Ошибки Нестандартное использование графических элементов управления В настоящий момент больше всего закон постоянства любят нарушать в использовании графических элементов управления – например, кнопок-селекторов и флажков (radio buttons и checkboxes). Например, по правилам действия кнопок-селекторов (radio-buttons), нужно выбрать одну из нескольких предложенных опций, однако никаких изменений не происходит, пока пользователь не нажмет кнопку ОК, подтверждая свой выбор. К сожалению, нередко встречаются сайты, на которых это базовое правило нарушалось – действие происходило сразу после выбора опции. Не работающие фрагменты кода Пользователь, столкнувшись с примитивной ошибкой, покинет ваш сайт немедленно. Стоит ли ему ломать
голову над тем, как это работает, если есть еще 5 миллионов других сайтов? Интерактивность. Интерактивность характеризует возможности, которые сайт предоставляет пользователю. Благодаря интерактивным элементам пользователь должен постоянно ощущать отличие Сети от журнала или телевизора. Сейчас широко распространены следующие интерактивные элементы: регистрация посетителей, проведение опросов и голосований, форумы и гостевые книги, новостная лента, FAQ, возвратная форма, каталог, интернет-магазин, кабинет клиента (закрытая зона), целевые почтовые рассылки. Ошибки Отсутствие единой регистрации в различных интерактивных элементах. Например, при регистрации на сайте пользователю выдается имя и пароль, но при работе на форуме от него требуют новой регистрации уже средствами самого форума, а не сайта. При регистрации пользователя часто просят ввести свой электронный адрес, а затем его используют при целевых почтовых рассылках (как правило, об этом честно предупреждают). Однако, если пользователь передумал, то отписаться от таких рассылок бывает крайне сложно.
Лабораторная №01 Просмотрите сайты посвященные гороскопам и заполните Таблицу 2
2 3
Таблица 2 Анализ сайтов схожей тематики № Адрес Название Сильные и Возможности п/п сайта сайта слабые и угрозы стороны 1 2 3
■ Придумайте макет страниц сайта.
■ Подумайте, какие разделы может содержать сайт «Гороскоп», перечислите их списком: 1. 2. 3.
■ Определитесь, где вы разместить сайт. Укажите адрес ресурса.
■ Создайте логическую структуру сайта и представьте ее в виде диаграммы ■ Отберите необходимый материал: изображения знаков, описания их характеристик и т.д.
Таблица 3. Перечень материалов для сайта № Название Формат В какой раздел сайта п/п материала документа предполагается поместить 1 (doc, rtf, txt, jpg, gif, html, pdf, swf, avi, mpg)
■ Подберите цветовое оформление страниц
Таблица 4. Цветовое оформление сайта № п/п Название элемента цвет 1 Фон 2 Текст 3 …
Модуль 2. Начало работы с Microsoft Visual Web Developer Изучив материал этого модуля, вы сможете: ■ использовать начальную страницу для открытия новых и существующих проектов, получения последних сведений о программных продуктах; ■ использовать различные типы окон VWD 2005 EE и освобождать на экране максимум места для редактирования документов при помощи функции Auto Hide; ■ редактировать Web-формы и HTML-страницы в графическом режиме или в виде HTML-текста; ■ автоматизировать написание кода при помощи возможностей Code Editor; ■ запускать и отлаживать web-приложения в VWD 2005 EE; ■ пользоваться встроенной справочной системой и устанавливать в ней нужные фильтры.
Тема1. Элементы интерфейса Visual Web Developer 2005 Начальная страница (Рисунок 8Ошибка! Источник ссылки не найден.) - первое, что вы видите после запуска Visual Web Developer 2005 Express Edition (VWD 2005 EE). Она содержит ряд панелей, которые облегчают поиск нужной информации, а также исполнение некоторых общих задач. Панель Recent Projects, содержит ссылки на четыре последних проекта, сохраненных в VWD 2005 EE. Любой из них можно открыть, щелкнув ссылку с именем нужного проекта. Кроме того, здесь предусмотрены средства для создания нового проекта или открытия существующего, но отсутствующего в списке последних проектов. Для этого нужно щелкнуть соответствующую кнопку на панели Recent Projects. Справа на начальной странице располагается панель Visual Web Developer News, которая содержит последние сведения о VWD 2005 EE, сопутствующих программных продуктах Microsoft, а также другие полезные материалы. Эти сведения отображаются, если вы установили подключение к сети Интернет. Рисунок 8. Начальная страница Visual Web Developer 2005 Express Edition В VWD 2005 EE два типа окон: окна документов и инструментальные окна. Первые отображают содержимое приложения: формы, Web-страницы и код. Одновременно можно открыть несколько окон документов; для переключения между ними достаточно щелкнуть ярлычки, расположенные вверху экрана. В инструментальных окнах отображаются компоненты приложений: элементы управления, соединения с базами данных, а также классы и свойства, используемые в проектах. Инструментальные окна располагаются слева и справа от окна документа. Их разрешается настроить так, чтобы можно было прятать и снова открывать их, щелкая вкладки окон. Чтобы инструментальное окно находилось на экране постоянно, выключите кнопку Auto Hide (она располагается в правом верхнем углу окна и похожа на маленькую канцелярскую
Рисунок 9. Окно Toolbox
кнопку), а если щелкнуть ее еще раз, инструментальное окно снова будет скрываться, оставляя на виду лишь ярлычок. В этом режиме неиспользуемые инструментальные окна скрываются, освобождая место для редактирования документа. Настроить внешний вид VWD 2005 EE можно с помощью параметров доступных в окне Options (Рисунок 10Ошибка! Источник ссылки не найден.), которое отображается при выборе в главном меню элемента Tools\Options. В VWD 2005 EE окно Toolbox отображает элементы управления и компоненты, которые можно перетаскивать в окно документа. Содержимое Toolbox зависит от типа редактируемого документа. Например, при редактировании Web-формы Toolbox содержит серверные элементы управления, HTML-элементы управления, элементы управления, связанные с данными, и другие компоненты, которые можно размешать на поверхности Web-форм (Рисунок 9Ошибка! Источник ссылки не найден.). Компоненты в окне Toolbox упорядочены по категориям. Щелкнув категорию, вы отобразите элементы из этой категории. Содержимое окна Toolbox можно прокручивать, щелкая стрелки, расположенные сверху и снизу списка компонентов. В VWD 2005 EE имеется объединенная справочная система, включающая сведения по среде разработки, языкам программирования и .NET Framework, а также информацию технической поддержки и статьи из MSDN. В зависимости от параметров, установленных на начальной странице в диалоговом окне Options, содержимое справочной системы отображается в окне документа либо в отдельном окне вне VWD 2005 EE. В справочной системе предусмотрены три поисковых окна: Contents, Index и Search. Они работают подобно инструментальным Рисунок 10. Настройка личных предпочтений в окне Options
Рисунок 11. Справочная система
окнам VWD 2005 EE; их можно «пристыковывать» к другим окнам, а также прятать и открывать, щелкая их ярлычки В каждом поисковом окне есть раскрывающийся список Filter, в котором выбирают нужный язык программирования или раздел для поиска. Эта возможность особенно полезна при работе с окнами Search и Index, поскольку объединенная справочная система содержит немало информации. В разделах с примерами операторов и кода на каждой странице установлен фильтр языка. Он имеет вид кнопки с изображением воронки и расположен в левом верхнем углу страницы. Щелкнув значок фильтра, вы выведете примеры к этому разделу на другом языке программирования либо заставите справочную систему показать примеры на всех языках. (Рисунок 11) VWD 2005 EE упорядочивает приложения при помощи проектов. Файл проекта имеет расширение .sln и содержит сведения о всех файлах, входящих в проект. По умолчанию он размещается в папке “Мои документы\Visual Studio 2005\ Projects”. Файлы, составляющие проект, можно просматривать в окне Solution Explorer, показанном на Рисунок 12.
Рисунок 12. Окно Solution Explorer
Тема 2. Создание нового и открытие уже существующего сайта В VWD 2005 EE Web-сайт можно создать три способами (см. Рисунок 13): ■ непосредственно в файловой системе компьютера, т.е. в любой папке на жестком диске или общедоступной сетевой папке. (File system) ■ на локальном или удаленном сервере Internet Information Server, используя http-протокол ■ на локальном или удаленном сервере Internet Information Server, используя ftp-протокол.
Рисунок 13. Создание нового сайта
Чтобы создать Web-сайт в файловой системе нужно выполнить следующие действия 1. Выберите пункт NewWeb Site из меню File. 2. Когда появится диалоговое окно New Web Site, выберите подходящий шаблон. Например, ASP.NET Web Site. 3. В области Location выберите File System из раскрывающегося списка и укажите папку, где будет размещаться сайт. 4. В области Language выберите язык программирования. Например, C#. 5. Нажмите OK. VWD 2005 EE создаст сайт, откроет в редакторе кода страницу Default.aspx, и отобразит папку Solution Exeplorer. Чтобы создать локальный Web-сайт на Internet Information Server (IIS) нужно сначала выполнить эти требования: ■ Зарегистрироваться на компьютере с привилегиями администратора. Только администратор может изменить необходимые параметры настройки IIS.
Если путь, который Вы определили для размещения сайта, уже содержит файлы, то VWD 2005 EE, предупредит об этом и попросит вас его изменить. Если вы продолжите создавать новый Web-сайт, не изменив путь, то существующие файлы будут заменены
■ Установить и запустить на компьютере IIS. ■ Установить на компьютере ASP.NET 2.0 и сделать его доступным в IIS.
Файлы локального Web-сайта IIS могут быть расположены физически в разных местах. Например: ■ Вы можете создать новый сайт в корне IIS (типично C:\lnetPub\wwwroot) и пометить его как приложение IIS. ■ Вы можете создать новый сайт в любой папке, а затем пометить ее как виртуальный каталог IIS и приложение IIS. ■ Вы можете создать Web-сайт, который указывает на существующее приложение IIS, и затем редактировать файлы этого приложения
файлами шаблона выбранного вами сайта
Для создания локального Web-сайта IIS проделайте следующие шаги 1. Выберите пункт New Web Site из меню File 2. Когда диалоговое окно New Web Site появится, выберите любой шаблон, перечисленный в поле Templates 3. Выберите HTTP в раскрывающемся списке Location. 4. Если Вы хотите вручную задать URL нового сайта, то продолжите следующим образом: ■ Напечатайте новый URL в текстовое поле Location. Например, можно напечатать http://localhost/horoscope. ■ Переходите к шагу 9.
Иначе, сделайте так: ■ Щелкните на кнопку Browse. Появится диалоговое окно (см.Рисунок 14). ■ Щелкните значок Local IIS, чтобы отобразить список локальных Web-серверов
Рисунок 14. Выбор местоположения сайта
5. Если Вы хотите, чтобы новый Web-сайт использовал файлы от существующего приложения IIS, выберите папку, где это приложение находится, щелкните кнопкой Open, и затем переходите к шагу 9. 6. В окне Select The Web Site you want to Open выберите Web-сервер и затем, в случае необходимости, родительскую папку сайта, который Вы хотите создать.
7. Если Вы хотите, чтобы файлы нового Web-сайта находились в пределах директории Web-сервера, то выполните следующие действия:
■ щелкните кнопкой Create New Web Application. Она первая из трех кнопок, которые находятся в верхнем правом углу диалогового окна; ■ новая папка WebSite появится в окне Select The Web Site you want to Open. Переименуйте эту папку так, как вам нужно.
Если Вы хотите, чтобы файлы нового Web-сайта находились в другом месте, то выполните следующие действия: ■ Щелкните кнопкой Create New Virtual Directory. Это средняя кнопка, из тех, что находятся в верхнем правом углу диалогового окна. Щелчок отобразит диалоговое Рисунок 15. Новая виртуальная директория окно New Virtual Directory, которое показано на Рисунок 15. ■ В поле Alias Name, напечатайте путь URL, где должен находиться новый сайт. ■ В поле Folder, напечатайте или выберите физическое местоположение файлов Web-сайта. ■ Нажмите OK, чтобы создать виртуальный каталог.
8. Щелкните кнопкой Open, чтобы создать сайт в IIS. 9. Выберите язык программирования по умолчанию для Web-сайта. 10. Нажимите OK, чтобы создать сайт и открыть его в VWD 2005 EE. Удаленный Web-сайт использует IIS, установленный на другом компьютере, к которому Вы можете подключиться по сети. Файлы вашего Web-сайта будут постоянно находиться на удаленном компьютере, и VWD 2005 EE будет взаимодействовать с Web-сайтом через Серверные расширения FrontPage. Создание удаленного Web-сайта IIS требует следующих условий: ■ ASP.NET 2.0 должен быть установлен на удаленном компьютере и доступен в IIS ■ IIS должен быть установлен и запущен на удаленном компьютере. ■ Серверные расширения FrontPage должны быть установлены и доступны на удаленном компьютере. ■ Вы должны иметь право на администрирование серверных расширений FrontPage и право на создание новых папок и файлов на удаленном компьютере.
Для создания удаленного Web-сайта IIS нужно выполнить следующие действия 1. Выбрать пункт New Web Site из меню File.
2. Когда диалоговое окно New Web Site появится, выбрать нужный шаблон, из поля Templates. 3. В области Location из раскрывающегося списка выбрать HTTP. 4. Затем можно выбрать один из вариантов.
■ Напечатать URL нового сайта в поле Location. Например, напечатать http://www.example.com/horoscope ; ■ Щелкнуть кнопкой Browse, выбрать Remote Site, затем напечатать нужный URL в поле Web Site Location ■ Щелкнуть кнопкой Browse, выбрать Remote Site, щелкнуть кнопкой New Web Site, и затем печатать нужный URL в поле Web URL.
5. Выбрать язык программирования по умолчанию для Web-сайта. 6. Нажать OK, чтобы создать сайт и открыть его в VWD 2005 EE. Для некоторых Web-серверов, единственный способ обновить файлы заключается в использовании протокола передачи файлов (FTP). VWD 2005 EE поддерживает и эту среду. Чтобы использовать этот подход, сайт, который Вы хотите открыть, должен быть доступным на FTP-сервере, и Вы должны получить следующую информацию от администратора FTPсервера. ■ Название FTP-сервера, где Вы хотите создать Web-сайт. ■ Название папки FTP-сервера, где Вы имеете разрешение создавать свои папки и файлы. ■ Имя пользователя и пароль для доступа к FTP-серверу. ■ Номер порта, который используется FTP-сервером. Обычно это 21 порт.
Создание Web-сайта доступного по FTP протоколу 1. Выбрать New Web Site из меню File. 2. Когда диалоговое окно New Web Site появится, выбрать нужный шаблон, из поля Templates. 3. В области Location из раскрывающегося списка выбрать FTP.
4. Укажите путь к FTP сайту, например, ftp://ftp.example.com/horoscope. Путь можно указать, щелкнув кнопкой Browse, выбрав значок Site FTP и заполнив следующие области в появившейся форме см. Рисунок 16. ■ Server: введите название сервера, например ftp://ftp.example.com. ■ Port: если FTP-сервер работает на порту отличным от 21, изменение это значение. ■ Directory: укажите название папки FTP, где Вы хотите разместить файлы Webсайта. ■ Passive Mode: поставьте здесь галочку, если имеются проблемы с подключением по протоколу FTP из-за системы сетевой защиты ■ Anonymous Login поставьте здесь галочку, если FTP-сервер разрешает анонимный доступ. Очистите это поле, если Вы имеете для доступа имя пользователя и пароль, кторые нужно указать в полях Username и Password
Рисунок 16. Подключение к ftp серверу
Желательно иметь две копии Web-сайта,
который
поддерживаете. копия,
"Рабочая"
расположена
локальном
вы на
компьютере
отлаживается под управлением
ASP.NET Development Server и
"оперативная"
версия,
расположенная на удаленном компьютере и работающая под управлением IIS и обновляемая по http или ftp проколу
Затем щелкните кнопкой Open. 5. Выберите язык программирования по умолчанию для Web-сайта. 6. Нажмите OK, чтобы создать сайт и открыть его в VWD 2005 EE. VWD 2005 EE соединяется с FTP-сервером и копирует на него файлы шаблона Web-сайта. Не забывайте, что для Web-сайтов, созданных таким образом, вы или администратор удаленного сервера должны запустить оснастку IIS и отметить новый Web-сайт как приложение IIS. Открытие недавно используемого Web-сайта. Когда VWD 2005 EE запускается, то отображается начальная страница, на которой имеется поле Recent Projects. Это поле содержит список Web-сайтов, которые недавно редактировались. Чтобы открыть один из этих сайтов снова, просто нажмите на его название в списке. Тот же самый список сайтов появляется в меню File. Чтобы открыть сайт этим способом, выберите пункт Recent Projects из меню File, а затем нажмите на нужный сайт. По умолчанию, VWD 2005 EE помнит последние 10 сайтов, которые открывались. Если это число нужно увеличить или уменьшить, то нужно изменить соответствующий параметр через панель Options (см. Рисунок 10) . 1. Выбрать пункт Open Web Site из меню File.
2. Когда диалоговое окно Open Web Site, откроется, выберете значок в левой части окна, который соответствует местоположению вашего сайта 3. В зависимости от местоположения сайта дальнейшие действия выполняйте по одному из четырех вариантов
Во-первых, если нужно открыть Web-сайт расположенный в файловой системе, то щелкните на значок File System в диалоговом окне Open Web Site, (Рисунок 17) 1. Выберите папку, которая содержит корень вашего web-сайта. 2. Щелкните на кнопке Open. Будьте внимательны при выполнении команды! Не открывайте папку, которая не является корнем Web-сайта. Такая ошибка часто случается если: Рисунок 17. Окно Open Web Site, вкладка File System
■ Сайт содержит много вложенных папок, и вы случайно выбрали одну из них. ■ Сайт находится в глубине файловой системы, и вы выбрали папку соседнюю с папкой сайта.
При выполнении команды Open Web Site, VWD 2005 EE предполагает, что открываемая папка является корнем Web-сайта и будет содержать файлы конфигурации и специальные подпапки. Если вы ошиблись, то сайт работать не будет.
Рисунок 18. Окно Open Web Site, вкладка Local IIS
Во-вторых, если нужно открыть локальный Web-сайт Щелкнете иконку Local IIS в диалоговом окне Open Web Site, и появится форма показанная на Рисунок 18. Затем выполните следующие действия: 1. Определите местонахождение папки, которая содержит корень вашего Webсайта. Чтобы сделать это, откройте или закройте любые узлы по мере необходимости.
Обратите
внимание,
что
на
Рисунок 18, некоторые значки папок, изображаются с иконкой земного шара. Если папка имеет такой значок, то это - корневая папка приложения IIS которую можно открыть в VWD 2005 EE.
2. Выберите папку и щелкните кнопкой Open. В-третьих, если нужно открыть Web-сайт доступный по FTP Щелкнете на иконку FTP Site в диалоговом окне Open Web Site, появится Работая с Web-сайтом через форма, показанная на Рисунок 16. Затем FTP будете уверены в том, что выполните следующие действия: папка куда вы помещаете 1. Заполните области Server, Port, файлы соответствует корневой Directory, Username и Password также как папке приложения IIS на Webэто делалось при создании сайта. сервере. 2. Щелкните на кнопку Open.
Рисунок 19. Открытие удаленного Web-сайта
В-четвертых, если нужно открыть удаленный Web-сайт. Щелкните на иконку Remote Site в диалоговом окне Open Web Site (см. Рисунок 19). Затем выполните следующие действия: 1. Напечатайте полный URL Web-сайта в поле Web Site Location. 2. Щелкните на кнопку Open.
Тема 3. Редактирование документов сайта
Таблица 5. Файлы Web-сайта
При создании Web-сайта VWD 2005 EE генерирует несколько документов, назначение основных из них описано в Таблица 5. Файлы Web-сайта Web-формы и HTML-документы можно редактировать в графическом режиме с использованием технологии drag-and-drop, либо в текстовом виде. Для переключения между режимами достаточно щелкнуть ярлычки Design и Source , расположенные внизу окна документа (Рисунок 20). Некоторые задачи невозможно решить в графическом режиме, поэтому приходится редактировать Web-документы в текстовом
Имя StyleSheet.css
Содержимое Определение стилей оформления элементов управления, Webформ и т.д., генерируемых для проекта web.config Параметры Web-cepвepa при обслуживании этого проекта; определяют способ сообщения об ошибках, используемый тип аутентификации пользователей и т. п. В проекте может быть только один такой файл, он размещается в корневом каталоге проекта Default.aspx Описание визуального представления Web-формы. Здесь приведено имя файла создаваемого по умолчанию Default.aspx.cs Код, обрабатывающий события Web-формы. Расширение .cs указывает что в нем содержится код написанный на С# Web.sitemap Карта сайта. Позволяет использовать описанные в ней страницы для навигации по сайту. MasterPage.master Шаблон для отображения других страниц
виде. Если вы знаете HTML, то этот способ может оказаться даже удобнее использования Рисунок 20. . Web-документ в режиме графических инструментов. Поддерживаемая конструирования Design VWD 2005 EE технология IntelliSense помогает завершать элементы HTML, как показано на Рисунок 21
Для просмотра результатов изменений, внесенных в режиме HTML, стоит переключиться обратно в режим Design; для этого достаточно щелкнуть ярлычок Design, расположенный внизу окна документа. С каждой страницей Web Forms связан файл, содержащий код этой страницы, Эти файлы автоматически генерируются при создании новой Web-формы. Имя файла с кодом составляется из имени Web-формы и расширения .cs (.vb). () В каждом файле кода VWD 2005 EE генерирует определение класса, инициализирующие процедуры и обработчик события Page_Load. Чтобы скрыть сгенерированный код, следует щелкнуть знак «минус» (Рисунок 21) При этом область сворачивается, а знак «минус» меняется на «плюс» (+), щелкнув который, вы снова раскроете эту область. Аналогичным образом сворачивают и раскрывают и другие блоки кода, например определения классов и процедуры. Инструмент VWD 2005 EE под названием Code Editor также поддерживает функцию autocomplete, автоматически завершающую ключевые слова и члены классов при помощи технологии IntelliSense (Рисунок 22). Если вы пишете на Visual Basic, то после завершения ввода каждой строки функция autocomplete будет делать первые буквы ключевых слов и имен членов заглавными. Однако в программе, написанной на Visual С#, Visual Studio .NET не распознает ключевое слово или имя члена, если при его вводе использован неверный регистр. Дело в том, что Visual C#, в отличие от Visual Basic .NET. чувствителен к регистру символов. Большинство автоматизирующих возможностей Code Editor можно включать и Рисунок 21. Технология IntelliSense в действии отключать, изменяя параметры в диалоговом окне Options (Рисунок 10). Кроме при редактировании HTML-текста того, в нем предусмотрена корректировка автоматических абзацных отступов, завершения блоков кода и других параметров, определяющих работу с языком.
Рисунок 22. Файл кода Web-формы (на Visual C#). Функция autocomplete
Лабораторная №02 Создайте сайт в файловой системе своего компьютера, выбрав шаблон Asp.net Web Site. После того VWD 2005 EE создаст сайт посмотрите, какие файлы появились в окне Solution Explorer, запишите их названия и расширения в таблицу. Затем запустите проект на выполнение. Какой запрос выдает VWD 2005 EE, что происходит после вашего ответа, какой новый файл появляется в окне Solution Explorer. Имя и расширение появившегося файла также запишете в таблицу. № п/п
Имя файла
Расширение
Доступные режимы редактирования
Поочередно откройте каждый из файлов, отображающихся в окне Solution Explorer в редакторе. Какие из них можно просмотреть в режиме Design, а какие в режиме Source. Дополните описание файлов в таблице указав возможные режимы редактирования для каждого файла Закройте окна Solution Explorer, Properties и ToolBox, Восстановите эти окна, воспользовавшись пунктов меню View. Переведите те же окна в режим Auto Hide Запишите полный путь к файлу, описывающему ваш проект (должен быть в директории мои документы) ___________________________________________________
Создайте сайт на локальном IIS, выбрав шаблон Asp.net Web Site.
Запишите полный путь к директории, где создалась корневая папка вашего сайта (должна быть в директории с:\Inetpub\) Затем запустите проект на выполнение Запишите, какие отличия вы заметили когда запускали проект, созданный в файловой системе и на IIS сервере __________________________________________________ Закройте VWD 2005 EE. Переместите папку содержащую ваш сайт в другое место (например, на flashдиск) запустите VWD 2005 EE и откройте сайт Запустите справку VWD 2005 EE Если у вас имеется подключение к прочитайте последние новости о VWD 2005 EE Проект, пустой,
который поэтому
Интернет
вы
создали
и
пустая
страничка, без сообщений об ошибках, появляющаяся в окне Internet Explorer, как раз говорит о том, что вы все сделали правильно.
Модуль 3. Создание и редактирование страниц С Web-формами применяются как HTML-элементы управления, так и серверные элементы управления. В чем разница между ними? В сущности, серверные элементы управления — это надмножество HTML-элементов управления, обладающее более широкими возможностями. Даже для создания небольших приложений требуется использование нескольких элементов управления, поэтому важно понимать, как работает каждый из них. Кроме того, для многих элементов управления можно задать различную форму, цвет, положение на странице и другие свойства. Таким образом, они становятся элементами дизайна интерфейса Web приложения. Изучив материал этого модуля, вы сможете: ■ размещать на WEB-страницах различные элементы управления, менять их свойства заданные по умолчанию. ■ Использовать методы и события, которые связаны с элементами управления. ■ Понимать программы, написанные на языке C Sharp ■ Обрабатывать значения, возвращаемые некоторыми элементами управления ■ Запускать приложения на выполнение и отлаживать их с помощью точек прерывания и пошагового выполнения. ■ Создавать собственные небольшие Web - приложения.
Тема 1. Элементы управления и их свойства Простые элементы управления
Простые элементы управления называются так потому, что большинство из них генерирует лишь несколько строк HTML кода. Некоторые из них возвращают также и клиентские сценарии, но только в особых случаях. Элементы управления TextBox
Назначение элемента управления TextBox состоит в создании на Web-форме полей ввода текста. Оператор:
создает на Web-форме поле ввода текста и назначает ему программный идентификатор «Name». Свойство Text можно использовать для декларативного добавления текста в TextBox, а также для чтения и изменения этого текста из
серверного сценария. Следующий оператор создает TextBox, первоначально содержащий строку «Анатолий»:
А вот этот серверный сценарий считывает содержимое элемента управления TextBox: string name = Name.Text;
Text —- это лишь одно из нескольких открытых свойств класса TextBox. Среди других — Rows и Columns, устанавливающие размеры TextBox, задавая число строк и столбцов, которые в нем могут отображаться; MaxLength, ограничивающее максимальное число символов, которые могут быть введены; Readonly, значение true которого запрещает изменение текста пользователем; Wrap, управляющее активизацией режима переноса строк в
многострочном TextBox; и TextMode, которое может быть равно SingleLine (по умолчанию) для создания однострочных полей, MultiLine для создания многострочных или Password для создания полей ввода пароля, которые вместо вводимых пользователем символов отображают звездочки или иной символ. Следующий оператор создает поле ввода пароля с именем «Password»:
Чтобы создать многострочное поле, установите TextMode в MultiLine, a Rows в число строк равное 10:
Атрибут Rows игнорируется, если TextMode явно не установлено в MultiLine. События TextChanged и свойство AutoPostBack
Если текст в поле TextBox изменился, то после возврата формы элемент управления генерирует событие TextChanged. Обработчик события задается атрибутом OnTextChanged тэга : protected void Name_TextChanged(object sender, EventArgs e) { // Имя изменилось, считать его из TextBox. string name = Name.Text; }
События TextChanged генерируются только при возврате формы на сервер. По умолчанию элементы управления TextBox сами не инициируют возвраты формы и, таким образом, генерируют событие TextChanged, только если возврат формы был вызван другим элементом управления.
Если же установить свойство AutoPost-Back элемента управления TextBox в true, то возвраты формы будут происходить (и событие TextChanged генерироваться) в момент изменения текста в поле ввода:
В ответ на каждый символ, вводимый пользователем, элементы управления TextBox в режиме AutoPostBack
генерируют события TextChanged только при потере фокуса ввода (т. е. в тот момент, когда пользователь переходит к
другому элементу управления формы), происшедшей после изменения текста. И это правильно, так как страница,
выполняющая возврат формы при вводе каждого символа, работала бы очень медленно
Элементы управления Label
Label — один из простейших, если не самый простой Web-элемент управления, — позволяет создавать на Webформах программно управляемые надписи. Текст элемента
управления доступен через свойство Text. Следующий оператор добавляет на Web-страницу строку «Привет»:
Часто элементы управления Label применяют, чтобы зарезервировать место для информации, выводимой серверными сценариями. Следующий оператор объявляет
пустой элемент управления идентификатором «Output»:
Label
с
программным
А этот оператор серверного сценария помещает строку «Привет» в то место Web- страницы, где расположен элемент управления Label: Output.Text = "Привет";
Используйте элемент управления Label, если нужно изменять текст на Web- странице из серверного сценария. Элементы управления HyperLink
Добавляют к Web-формам гиперссылки и бывают двух типов: текстовые гиперссылки и гиперссылки-изображения. Следующий оператор создает гиперссылку, которая представляется на Web-странице в виде текстовой строки и ссылается на www.mail.ru
Небольшое изменение превращает ее в гиперссылку-изображение:
Обычно в тэге указывается либо атрибут Text, либо атрибут ImageUrl. Если же вы все-таки укажете оба, элемент управления будет использовать текст при отображении всплывающей подсказки. Класс Hyperlink
предоставляет свойство Target, позволяющее управлять тем, как будет отображаться целевая Web-страница. Так, оператор:
открывает страницу в новом окне браузера. Другим применением атрибута Target является открытие страниц в заданных окнах или фреймах. Как и Label, элементы управления HyperLink следует использовать, только когда вы
собираетесь изменять свойства элемента управления динамически. Следующий код инициализирует целевой адрес гиперссылки во время загрузки страницы:
Одной из причин подобной инициализации элемента управления Hyperlink может быть выборка целевого URL из БД. Элементы управления Image
Добавляют к Web-формам картинки, генерируя тэги . Самые популярные свойства Image — ImageUrl (определяет URL картинки, которая будет отображаться), ImageAlign (управляет выравниванием картинки) AtternateText (задает альтернативный текст для картинки).
Альтернативный текст отображается вместо картинки в браузерах, которые работают в текстовом режиме. Следующий оператор объявляет элемент управления Image на Web-форме:
Элементы управления Image прекрасно подойдут для отображения картинок, чьи URL определяются во время выполнения, возможно, по результатам пользовательского ввода. Элементы управления CheckBox
Создают на Web-формах поля флажков. Свойство Checked определяет, установлен ли флажок (true) или сброшен (false), a Text определяет текст, отображаемый
рядом. Следующий оператор объявляет элемент управления CheckBox на Web-форме:
А этот серверный сценарий определяет состояние флажка, когда форма возвращается на сервер: if (Confirm.Checked) { // Флажок установлен. } else { // Флажок сброшен. }
В нестандартном случае, когда нужно поменять местами флажок и текст, обычно отображаемый правее, используйте атрибут TextAlign=«Left» в тэге элемента управления. При установке и сбросе флажка элементы управления CbeckBox генерируют события CbeckedCbanged. По умолчанию событие
CheckedChanged не генерируется сразу же при щелчке флажка, но откладывается до возврата формы. Чтобы реагировать на изменения состояния флажка сразу, установите в true свойство AutoPostBack для принудительного возврата формы:
// Флажок только что установлен или сброшен. // Выполнить нужные действия. }
Не устанавливайте AutoPostBack в true в отсутствие реальной необходимости немедленно обрабатывать события CheckedChanged. Одним из случаев, когда это действительно
нужно, является динамическое изменение содержимого страницы при всяком изменении состояния флажка
Элементы управления RadioButton
Создают на Web-формах кнопки-переключатели, которые отображают список взаимоисключающих вариантов. Щелчок такой кнопки включает ее, одновременно отключая остальные кнопки в группе. RadioButton является производным от CheckBox и, таким образом, поддерживает те же свойства и события. Кроме того, он имеет дополнительное
свойство GroupName для указания группы, к которой относится переключатель. В следующем примере объявляется пять элементов управления RadioButton, разделенных на две группы: из 3 и из 2 кнопок. Свойство RadioButton.Checked включает первую кнопку каждой группы:
Группирование элементов управления данного типа с помощью атрибута GroupName важно, так как сообщает браузеру о том, какие переключатели нужно отключить при включении данного переключателя, Чтобы в серверном сценарии определить, какой переключатель из группы был включен, нужно проверить Элементы управления Table
значение свойства Checked у каждой кнопки группы. Удобнее для добавления переключателей к Web-странице использовать RadioButtonList. Его свойство Selectedlndex соответствует включенной кнопке. RadioButtonList также упрощает задачу выравнивания кнопок-переключателей на странице.
Код для задания элемента управления Table Row 1, Column 1Row 1, Column 2Row 2, Column 1Row 2, Column 2
Элементы управления Table полезны, когда содержимое таблицы нужно изменять динамически. Например, в следующем серверном сценарии изменяется текст во всех ячейках таблицы: MyTable.Rows[0].Cells[0].Text = "Cell 1"; MyTable.Rows[0].Cells[1].Text = "Cell 2"; MyTable.Rows[1].Cells[0].Text = "Cell 3"; MyTable.Rows[1].Cells[1].Text = "Cell 4";
А этот сценарий создает во время исполнения всю таблицу: for (int i = 0; i < 2; i++) { TableRow row = new TableRow(); for (int j = 0; j < 2; j++) { TableCell cell = new TableCell(); cell.Text = String.Format("Row {0}, Column {1}", i + 1, j + 1); row.Cells.Add(cell); } My_Table.Rows.Add(row);
}
Эти сценарии работают благодаря тому, что строки, содержащиеся в объекте Table, доступны через свойство Rows. Каждая строка набора Rows — это экземпляр класса TableRow. Внутри строки каждая ячейка представлена объектом TableCell, доступ к которому осуществляется посредством набора Cells объекта-строки. Вызов Add для набора Rows или Cells позволяет программно добавить строку к таблице или ячейку к строке.
По умолчанию рамки элементов управления Table невидимы. Изменить это можно, установив свойство GridLines в Horizontal, Vertical или Both. Другие свойства Table — CellPadding и Cellspacing — как и одноименные HTML-атрибуты, управляют промежутками внутри ячеек, a BacklmageUrl задает фоновую картинку. Таблицы часто используются Web-страницами для отображения цветного фона. Изменить цвет фона для Table позволяет его свойство BackColor, унаследованное от WebControl.
Элементы управления Panel
Служат контейнерами для других элементов управления. Одно из применений элементов управления Panel — управление видимостью группы элементов управления. Следующая Web-форма то отображает, то скрывает 4
элемента управления Label, устанавливая свойство Visible элемента управления Panel в true или false при всяком щелчке флажка. Обратите внимание на атрибут AutoPostBack=«True» в тэге
Семейство Web-элементов управления включает три типа кнопок: Button, LinkButton и ImageButton. Все три имеют
общее функциональное назначение: возврат содержащей их формы на сервер. Отличия: Button выглядит как командная
кнопка, LinkButton — как гиперссылка, a ImageButton отображает заданную картинку. Практически на любой Webформе есть одна или несколько кнопок, с помощью которых
пользователь может отправить форму на сервер. Ниже приведены примеры объявления экземпляров кнопок каждого типа:
Свойство Text задает текст, отображаемый поверх элемента управления Button или LinkButton. ImageUrl задает картинку, отображаемую элементом управления LinkButton. Все типы кнопок генерируют по щелчку два вида событий:
Click и Command. Атрибут OnClick в тэге элемента управления связывает с кнопкой обработчик Click. Обработчики Click для Button и LinkButton имеют такой прототип:
А прототип обработчиков Click для элементов ImageButton отличается: protected void ImageButton1_Click(object sender, ImageClickEventArgs e) { // Получить координаты щелчка, int x = e.X; int у = e.Y; }
Объект ImageClickEventArgs, передаваемый обработчику Click объекта ImageButton, содержит открытые поля X и Y, указывающие положение указателя мыши в момент щелчка. Списки
Х и Y измеряются в пикселах и соответствуют расстоянию от левого верхнего угла картинки.
В семейство элементов управления со списками входят 4 члена: ListBox, DropDownList, CbeckBoxList и RadioButtonList. У них две общие характеристики: все они произведены от System.Web.UIWebControlsListControl и предназначены для отображения списков. Элементы управления ListBox и DropDownList содержат текстовые строки, которые могут быть выбраны пользователем. Оба преобразуются в HTML- теги <select>. CbeckBoxList и RadioButtonList отображают массивы флажков и переключателей и преобразуются в тэги и соответственно. Тэги
могут содержаться в HTML-таблице для выравнивания. Элементы списков представляются экземплярами класса Listltem, которые объявляются тэгами . Listltem содержит текстовые свойства Text и Value. Text — это текст элемента списка; Value — произвольная строка, связанная с этим пунктом списка. Listltem также имеет свойство Selected булевого типа указывающее, выбран ли данный пункт. Следующие операторы объявляют ListBox, содержащий 4 элемента, и выбирают второй элемент:
Небольшое изменение кода создает вместо ListBox элемент управления DropDownList:
В ListBox или DropDownList свойство Selected объекта Listltem определяет, выбран ли данный элемент (true) или нет (false). В CheckBoxList или RadioButtonList то же свойство определяет, включен ли данный элемент. После возврата
формы серверному сценарию не надо проверять каждый элемент списка, чтобы определить выбранный. Элементы управления со списками наследуют от базового класса ListControl свойства Selectedlndex и Selectedltem. Таким
образом, сценарий может определить, какая кнопкапереключатель выбрана, считывая ее индекс (индексы
начинаются с 0):
int Index = MyRadioButtonList.SelectedIndex;
Для элементов управления CheckBoxList свойства Selectedlndex и Selectedltem не столь интересны, так как может быть установлено более одного флажка из списка, но для других списков они крайне полезны. При изменении выбора, т. е. при выборе нового элемента ListBox и DropDownList или по щелчку кнопки в CheckBoxList и RadioButtonList элементы управления со списками
генерируют событие SelectedlndexChanged. По умолчанию событие не генерируется, пока какое-либо иное событие не вызовет возврат формы. Однако все списки наследуют от ListControl свойство AutoPostBack, которое можно установить в true, чтобы события SelectedlndexChanged генерировались немедленно.
Элементы управления DropDownList
Отображают элементы в выпадающем списке, напоминающем поле со списком в Windows. Классический пример применения элемента управления DropDoumList -
отображение списка семи базовых цветов. Следующий код создает такой список и отображает выбор пользователя на Web-странице:
Похожи на элементы управления DropDownList, но отображают свои элементы в статичном, а не в выпадающем списке. Вот как создается элемент управления ListBox с
перечнем семи базовых цветов, а выбор пользователя отображается на Web- странице:
По умолчанию размеры ListBox устанавливаются так, что одновременно видны только 4 пункта списка. Атрибут Rows в показанном выше тэге увеличивает высоту списка до 7 элементов.
Единственным функциональным различием между ListBox и DropDownList является поддержка множественного выбора первым из них. Атрибут SelectionMode=«Multiple» в тэге элемента управления создает ListBox с множественным выбором:
К сожалению, в классе ListBox нет открытого метода или свойства для получения индексов элементов, выбранных в
списке с множественным выбором. Чтобы определить, какие элементы были выбраны, вам придется перебрать все
элементы списка по одному, проверяя значение свойства Selected. Следующий метод принимает ссылку на ListBox как входной параметр и возвращает массив целых чисел,
содержащий индексы всех выбранных элементов, начиная с нуля;
int[] GetSelectedlndices(ListBox lb) { ArrayList a = new ArrayList(); for (int i=0; i
Используя показанный выше метод GetSelectedlndices, оператор: int[ ] indices = GetSelectedlndices(ColorList) ;
определяет полный список элементов, отобранных в списке с множественным выбором «ColorList». Элементы управления CheckBoxList
Создают массивы флажков. Следующий оператор отображает 4 флажка, расположенные по вертикали:
Чтобы в серверном сценарии определить, установлен ли данный флажок, обратитесь к значению его свойства Selected: if (Auto_List.Items[2].Selected)
{ // Флажок установлен. } else { // Флажок сброшен. } Элементы управления RadioButtonList
Элемент управления RadioButtonList упрощает создание групп переключателей и определение выбранного переключателя. Операторы:
создают столбец переключателей и включают первый из них. Чтобы определить, какой переключатель выбран пользователем, серверный сценарий может применить RadioButtonList,Selectedlndex. int index = Auto_List.SelectedIndex;
Лабораторная №03 Создайте страничку, которая выводит персональное приветствие посетителю сайта. От посетителя сайта требуется ввести свое имя. Используйте элементы управления TextBox, Label|, Button.
Приведите фрагмент кода Web-страницы, с помощью которого задаются использованные вами элементы управления _________________________________________ _________________________________________ _________________________________________ _________________________________________ _________________________________________ _________________________________________ _________________________________________ _________________________________________ _________________________________________ Приведите текст функции, с помощью которой выводится приветствие: _________________________________________ _________________________________________ _________________________________________ _________________________________________ _________________________________________ _________________________________________
В таблицу запишите сведения об элементах управления, которые вы использовали. № 1 2 3
Тип элемента TextBox Label Button
Название
Значение
Тема 2.Работа с кодом C Sharp. При создании Web страницы, например, Default.aspx, одновременно создается и файл Default.aspx.cs или Default.aspx.vb, в котором могут размещаться фрагменты кода на языке C Sharp или VB соответственно. Эти фрагменты позволяют обрабатывать значения возвращаемые элементами управления. В дальнейшем будем ориентироваться на использование языка C Sharp, поэтому кратко рассмотрим основные типы данных и операторы этого языка. В C Sharp используются следующие типы данных: ■ int - значениями этого типа являются целые числа ■ char - значениями этого типа являются элементы конечного упорядоченного множества символов. Каждому символу ставится в соответствие число, которое называется кодом символа. Для кодировки используется код ASCii (American Standard Code for international interchange) ■ string - значениями этого типа являются строки символов ■ bool - тип bool называется логическим. Его величины могут принимать значения true (истина) и false (ложь). ■ float (вещественный) и double (вещественный с двойной точностью). Внутреннее представление вещественного числа состоит из 2 частей: мантиссы и порядка. Мантисса – это численное значение со знаком, порядок – это целое со знаком, определяющее значимость мантиссы.
Переменной в C Sharp называется именованная область памяти, в которой хранятся данные определенного типа. У переменной есть имя и значение. Имя служит для обращения к области памяти, в которой хранится значение. Перед использованием любая переменная должна быть описана, например, так: int a; float x; При описании можно присвоить переменной начальное значение (инициализация): int a = 10; float b = 20.5; Из констант, переменных, разделителей и знаков операций можно конструировать выражения. Каждое выражение представляет собой правило вычисления нового значения. Если выражение формирует целое или вещественное число, то оно называется
арифметическим. Пара арифметических выражений, объединенная операцией сравнения, называется отношением. a+b+64 // арифметическое выражение (c-4) > (d*e) // отношение В C Sharp имеются следующие типы операторов: ■ составные операторы; ■ операторы выбора; ■ операторы циклов; ■ операторы перехода.
Оператор "выражение" это любое выражение, заканчивающееся точкой с запятой. Оно рассматривается как оператор, выполнение которого заключается в вычислении этого выражения. i++; a += 2; x = a+b; К составным операторам относят собственно составные операторы и блоки. В обоих случаях это последовательность операторов, заключенная в фигурные скобки. Блок отличается от составного оператора наличием определений в теле блока. { n++; summa += n; } { int n = 0; n++; summa += n; } Условный оператор имеет полную и сокращенную форму. if (выражение-условие) оператор1; // сокращенная форма if (выражение-условие) оператор1; else оператор2; // полная форма Если значение выражения-условия истинно, то выполняется оператор1, иначе выполняется оператор2
Оператор выбора позволяет сделать множественный выбор. switch (выражение) { case константа1: оператор1;break; case константа2: оператор2; break; ........... [default: операторы;] } При выполнении оператора switch, вычисляется выражение, записанное после switch, оно может быть числовым или строковым. Полученное значение последовательно сравнивается с константами, которые записаны следом за case. При первом же совпадении выполняются операторы, помеченные данной меткой, а остальные игнорируются. Если значение выражения, записанного после switch, не совпало ни с одной константой, то выполняются операторы, которые следуют за меткой default. Цикл с предусловием while (выражение-условие) оператор; Если выражение-условие истинно, то тело цикла выполняется до тех пор, пока выражениеусловие не станет ложным. while (a!=0) { a= Convert.ToInt16(Console.ReadLine()); s+=a; } Цикл с постусловием do оператор; while (выражение-условие); Тело цикла выполняется до тех пор, пока выражение-условие истинно. do { a= Convert.ToInt16(Console.ReadLine());
s+=a; } while(a!=0); Цикл с параметром for (выражение_1;выражение-условие;выражение_3) оператор; Выражение_1 – задает начальные условия для цикла (инициализация). Выражение-условие определяет условие выполнения цикла, если оно не равно 0, цикл выполняется, а затем вычисляется значение выражения_3. Выражение_3 – задает изменение параметра цикла или других переменных (коррекция). Выражение_1 и выражение_3 могут состоять из нескольких выражений, разделенных запятыми. Любое выражение может отсутствовать, но разделяющие их " ; " должны быть обязательно.
Лабораторная №04 1. Создайте
страничку с использованием элементов управления DropDownList и Label, которая предлагает пользователю выбрать из раскрывающегося списка свой пол (мужчина, женщина, оно) и выводит следующие сообщения:
■ Мужчина - Я думаю что вы - это он ■ Женщина – Я думаю что вы - это она ■ Оно - "Ой, кто вы?"
Для написания функции обработки выбранного значения в элементе DropDownList предлагается использовать операторы If или Switch Запишите ниже код получившейся у вас функции обработки выбранного значения в элементе DropDownList ___________________________________________________________________________________ ___________________________________________________________________________________ ___________________________________________________________________________________ ___________________________________________________________________________________
2. Создайте страничку с использованием элементов управления Textbox, Button и Label, которая предлагает пользователю ввести свое имя и по окончанию имени пытается угадать его пол. При выполнении работы учесть, что должны вводится полные имена, такте же: ■ Мужские имена как правило имеют окончание й, р, н ■ Женские имена как правило имеют окончание а,я
Для получения последней буквы имени используйте функции работы со строками Запишите ниже код получившейся у вас функции обработки выбранного значения в поле Textbox ___________________________________________________________________________________ ___________________________________________________________________________________ ___________________________________________________________________________________ ___________________________________________________________________________________
3. Создайте страничку с использованием элементов управления Textbox, Button и Label, которая предлагает пользователю ввести свое имя и возраст, а затем подсчитывает количество прожитых дней. При выполнении работы считать, что: ■ в году 365 дней ■ високосные года не учитывать ■ учитывать только число полных прожитых лет
Для перевода значения строковой переменной (тип string), опредялющей число лет в числовое представление (тип int) рекомендуется использловать функцию Convert.ToInt16 Запишите ниже код получившейся у вас функции обработки количества прожитых лет в поле Textbox
4. Создайте страничку с использованием элемента управления CheckBoxList и Label, которая выводит слова «Привет» или «Hello» или оба слова вместе в зависимости от того, напротив какого языка установлен флажок: ■ Установлено Russian – вывести «Привет»; ■ Установлено English – вывести «Hello»; ■ Установлено Russian и English – вывести «Hello Привет»
Для проверки установки флажка воспользуйтесь свойством CheckBoxList1.Items[j].Selected, принимающем значения trueпри установленном флажке и false в противном случае. Запишите ниже код получившейся у вас функции обработки установленных флажков элемента управления CheckBoxList. ___________________________________________________________________________________ ___________________________________________________________________________________ ___________________________________________________________________________________ ___________________________________________________________________________________
5. Создайте
страничку с использованием элементов управления DropDownList и Image, которая выводит изображение соответствующее выбранному знака зодиака: Изображения знаков зодиака можно взять с любого сайта гороскопов (например http://www.goroskop.ru/); Для проверки выбранного значения в элементе DropDownList рекомендуется использовать свойство DropDownList1.SelectedItem, а для осуществления последующих действий рекомендуется использовать оператор switch. Запишите ниже код получившейся у вас функции обработки выбранного значения в элементе DropDownList и вывода изображения. ___________________________________________________________________________________ ___________________________________________________________________________________ ___________________________________________________________________________________ ___________________________________________________________________________________ ___________________________________________________________________________________ ___________________________________________________________________________________ ___________________________________________________________________________________ ___________________________________________________________________________________ ___________________________________________________________________________________
Тема 3. Запуск и отладка проекта Запустить проект в VWD 2005 EE можно одним из следующих способов; щелкнуть кнопку Start на панели инструментов, выбрать из меню Debug команду Start или нажать клавишу F5. После запуска проекта VWD 2005 EE компонует его файлы, показывая в окне Error List сообщения об ошибках, если таковые возникнут (Рисунок 23). Дважды щелкнув описание ошибки в окне Error List, вы быстро найдете строку с ошибкой, чтобы исправить ее. Если во время компоновки ошибки не обнаружены, VWD 2005 EE запускает Internet Explorer и открывает в нем начальную страницу Web-приложения. Если при исполнении приложения в режиме отладки возникает ошибка. VWD 2005 EE показывает в браузере соответствующее сообщение. (Рисунок 24). Дальше можно выполнить одно из следующих действий: если причина ошибки Рисунок 23. Сообщения об ошибках, возникших при известна, стоит остановить компоновке проекта приложение, закрыв окно браузера и вернуться в VWD 2005 EE, чтобы исправить ошибку; если причина ошибки неизвестна, следует щелкнуть кнопку Back (Назад) в браузере и переключиться в VWD 2005 EE, чтобы установить в коде точку прерывания перед предполагаемым местом возникновения ошибки. Затем, переключившись обратно в браузер, попробуйте еще раз выполнить Рисунок 24. Сообщение об ошибке, возникшей при выполнении проекта
действие, вызывавшее ошибку. Встретив точку прерывания, VWD 2005 EE остановит исполнение приложения. Далее путем пошагового исполнения вы локализуете ошибку. Установка точки прерывания позволяет остановить исполнение проекта перед некоторой строкой кода. Встретив при исполнении проекта строку с точкой прерывания, VWD 2005 EE остановит приложение перед этой строкой и откроет ее в окне Code Editor, выделив, как показано на Рисунок 25. Чтобы установить точку прерывания, щелкните мышкой по серому полю слева от строки, перед которой нужно остановить исполнение программы, либо выделите эту строку и нажмите F9. После останова приложения перед точкой прерывания стоит просмотреть значения активных переменных, наводя на них указатель мыши или воспользоваться вкладкой Local. Для отслеживания и просмотра значений переменных сложного типа, следует добавить эти переменные в окно Watch, показанное на Рисунок 26 Чтобы сделать это, выделите переменную Рисунок 25. Проект, остановленный перед точкой (объект) и перетащите ее в прерывания окно Watch. Для просмотра значений вложенных элементов (например, элементов массива или свойств объекта) щелкните знак «+» справа от сложного элемента в окне Watch. Чтобы возобновить исполнение приложения, остановленного перед точкой прерывания, щелкните кнопку Continue на панели инструментов либо нажмите F5. Можно также исполнять приложение построчно, нажимая F10 или F11. F10 заставляет при вызове процедуры исполнить ее как одну команду. Другими Рисунок 26. Окно Watch
словами, процедура исполняется без захода в нее (step over), после чего исполнение останавливается на следующей после вызова этой процедуры строке. Нажатие клавиши F11 вызывает исполнение процедуры с заходом в нее (step in), при этом исполнение останавливается на первой строке вызванной процедуры
Лабораторная №05 1. Откройте созданный в ходе выполнения лабораторной работы №4 проект «Сколько
дней ты прожил?» (задание №3). Установите точки прерывания в каждой строке. Запустите проект на выполнение. Запишите в приведенной ниже таблице запишите, какие значения принимают переменные, когда выполняется первая строка кода, вторая строка кода и т.д. Номер строки fio 1 2 3 4
god
Переменные dni
Label1
2. Откройте проект, созданный в ходе выполнения задание №5 лабораторной работы №4.
Запишите каждую строчку кода в соответствующую строку таблицы. Установите точки прерывания так, чтобы по ним проходило выполнение программы при выборе в элементе управления DropDownList знака зодиака «Телец» Точка Номер Код прерывания строки
Сколько таких точек прерывания вы установили?
Модуль 4. Дизайн страниц Когда мы говорили о дизайне, то не раз упоминали шаблоны страниц как мощное средство, помогающее быстро и качественно оформить внешний вид сайта, а также впоследствии легко изменять его. VWD-2005 EE предоставляет в распоряжение web разработчика мастерстраницы, таблицы стилей и темы. Их использование позволяет быстро создать заготовку типового сайта. Разработчики WEB-сайтов, используя мастер-страницы, таблицы стилей и темы конструируют собственные шаблоны для придания своим сайтам «фирменного» вида. Как правило, при построении шаблонов активно используются таблицы, потому, что с их помощью легко выполнить: ■ выравнивание данных путем вставки в ячейки таблицы; ■ распределение текста и графики по разным колонкам; ■ создание обрамления вокруг текста или графических изображений; расположение текста по контуру графического изображения; ■ создание цветного фона для текстового фрагмента или отдельного изображения;
Изучив данный модуль, вы сможете: ■ создавать мастер-страницы и контент-страницы; ■ создавать таблицы стилей и применять их к web страницам ■ создавать темы, добавлять в них стили и шкурки ■ применять темы к web страницам
Тема 1. Создание и использование мастер страниц Мастер-страницы, служат шаблоном для отображения, других страниц. Для этого на мастер-странице выделяются области, не подлежащие изменению, и области где будет отображаться информация связанных страниц (страниц контента) Контент-страница - любая страница, которая использует мастер страницу. Каждый раз, когда посетитель запрашивает контент-страницу, ASP.NET загружает мастер-страницу, производит слияние с контент-страницей и посылает объединенный результат пользователю. Слияние мастер-страницы и контент-страницы на лету имеет два важных последствия. ■ посетитель всегда получает текущие версии шаблона и его содержания. ■ полученная после слияния страница обладает всеми возможностями обычной ASP.NET страницы. Например, мастер-страница, как и контентстраница может содержать любые элементы управления, или фрагменты кода. Лучше всего разрабатывать мастер страницу на этапе планирования сайта.
Чтобы создать сайт, использующий мастер страницы нужно выполнить следующие действия: 1. Создайте новый сайт 2. Удалите любые Web-страницы, которые содержит сайт. Например, удалите страницу default.aspx, которая создается по умолчанию 3. В окне Solution Explorer, щелкните правой кнопкой мыши по папке сайта и выберите Add New Item из контекстного меню 4. Когда диалоговое окно Add New Item появится, выполните следующие действия
Рисунок 27. Новая мастер страница содержит только один элемент: управление ContentPlaceHolder
■ Выберите из всех элементов списка Master Page ■ Оставьте название страницы по умолчанию MasterPage.master. ■ Выберите язык программирования (по умолчанию C#). ■ Поставьте галочку напротив Place code in separate file.
5. Нажмите Add, чтобы создать мастер-страницу
Рисунок 28. Отредактированная мастер страница
Созданная мастер-страница, доступна для редактирования за исключением одного элемента управления ContentPlaceHolder, который создается на ней по умолчанию. Этот элемент резервирует пространство для содержимого контент-страницы (см. Рисунок 27). Редактирование мастер-страницы такое же, как и редактирование обычной ASP страницы. Поэтому к ней можно применить все элементы управления, рассмотренные ранее. Рисунок 28 показывает отредактированную мастер-страницу. Самый удобный способ использования мастер-страницы состоит в том, чтобы привязать ее, к новой странице во время ее создания, что может быть выполнено следующим образом. 1. Откройте сайт, который содержит мастер-страницу. 2. В окне Solution Explorer, щелкните правой кнопкой мыши по папке, где Вы хотите разместить новую контент-страницу, затем выберите Add New Item из контекстного меню. 3. Когда диалоговое окно Add New Item появится, не забудьте сделать следующее: ■ Выбрать шаблон документа: Web Form. ■ Поставить галочку напротив Select Master Page.
4. Щелкните на кнопку Add. Тогда появится диалоговое окно
Рисунок 29. Выбор мастер страницы
Master Page, тогда вы сможете выбрать мастер-страницу. Рисунок 29 5. Чтобы создать страницу, щелкните кнопкой OK. Когда Вы видите контент-страницу в режиме конструктора, части, которые добавились из мастер страницы, будут недоступны для редактирования. Чтобы изменить что-нибудь в них, вам придется открыть и отредактировать мастер-страницу (см. Рисунок 30.) Рисунок 30 показывает контент-страницу, которая использует присоединенную мастер страницу. Кроме того, контент-страница отображает некоторое собственное содержание. Чтобы создать
такую страницу выполните следующие действия: Создайте ASP страницу, в нашем примере она называется Бык.aspx. На этапе создания подключите мастер-страницу (MasterPage.master), так как это было описано выше. 1. Задайте содержание страницы внутри элемента ContentPlaceHolder. Вы можете напечатать текст или вставить его и изображения. Затем сохраните страницу. 2. Щелкните правой кнопкой мыши по странице в Solution Explorer и выберите View In Browser из контекстного меню Контент-страницы, которые используют мастер-страницы первоначально, содержат очень небольшой исходный текст. Вот типичный пример: <%@ Page Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="бык.aspx.cs" Inherits="бык" Title="Untitled Page" %> Директива @Page определяет язык программирования для любого кода, добавленного к странице, название файла мастер-страницы, и заголовок страницы. Тэг определяет имя элемента управления ContentPlaceHolder на главной странице, и атрибут Runat="Server". Данные теги позволяют понять принцип работы мастер-страниц:
Рисунок 30. . Контент-страница с присоединенным шаблоном.
■ Мастер-страница содержит один или более элементов управления ContentPlaceHolder, каждый с собственным индивидуальным именем. ■ Когда контент-страница использует мастер-страницу, она должна содержать один или несколько тегов для каждого элемента управления ContentPlaceHolder в мастер-странице. ■ Когда посетитель запрашивает контент-страницу, ASP.NET сливает ее содержание с каждым элементом управления ContentPlaceHolder в мастер-странице, затем показывает результаты.
Заметьте, что контент-страница, которая использует мастер-страницу, не содержит никаких тегов типа , раздела , тега и тега . Все они заимствуются с мастер-страницы.
К сожалению VWD 2005 EE не имеет никакой команды или мастера, который применяет главную страницу к существующей Web-странице. Однако, это можно сделать вручную, выполнив следующую процедуру: 1. Создайте новую контент-страницу, которая использует нужную вам мастер-страницу 2. Скопируйте содержимое со старой страницы в буфер обмена 3. Вставьте содержание из буфера обмена в новую страницу. 4. Удалите старую контент-страницу, затем переименуйте новую. Если Вы обнаружили, что этот подход не принес желаемого результата, то откройте страницу в редакторе, переключитесь в режим Source и попробуйте другую процедуру: 1. Удалите все строки от тега до начала содержания, которое Вы хотите сохранить. Вы должны удалить по крайней мере тэги , , и