Створення додатків 2

Розділ із книги “Знайомство з MS ASP.NET 2.0”

Автор: Д. Еспозіто Джерело: Знайомство з MS ASP.NET 2.0 Матеріал надав: Видавництво "Пітер"

Visual

Незалежно від способу проектування та реалізації Web-програми в результаті завжди виходить кілька сторінок, розміщених за деякою загальнодоступною URL-адресою. Невблаганний прогрес Web-технологій не змінив цей незаперечний факт з тієї простої причини, що такий природний результат простоти протоколу HTTP. До того часу, поки HTTP залишатиметься базовим транспортним протоколом, Web-додаток зможе радикально відрізнятися від набору загальнодоступних сторінок. Тож у чому полягає роль Microsoft ASP.NET?

ASP.NET надбудовує над протоколом HTTP ще один рівень абстракції, за допомогою якого розробники створюють Web-сайти. Завдяки ASP.NET програмісти можуть застосовувати такі високорівневі сутності, як класи та компоненти у межах об'єктно-орієнтованої парадигми. А спеціальний інструментарій робить роботу в інфраструктурі ASP.NET настільки цілісною та швидкою, наскільки це взагалі можливо. Зрештою, саме інструменти розробки відповідають за створення та розгортання програми. Вони висувають парадигму програмування та змушують розробників грати за її правилами.

Ключовий інструмент розробки додатків ASP.NET 2.0 - Microsoft Visual Studio 2005 - наступниця Visual Studio .NET 2003. Вона містить масу нових можливостей і вдосконалень, розроблених спеціально для того, щоб дозволити Web-програмістам подолати деякі обмеження, що виникли під час використання Visual Studio .NET 2003.

У цьому розділі ми розглянемо три основні елементи програми ASP.NET - середовище розробки (IDE) для його побудови,сторінку та основні елементи управління для її створення. Почнемо з Visual Studio 2005.

Початок роботи з Visual Studio 2005

Visual Studio 2005 – це середовище-контейнер, що поєднує функціональність кількох візуальних дизайнерів. Один дизайнер служить для створення програм на основі Windows Forms, один - для створення ASP.NET-сайтів, ще один - для Web-сервісів і т. д. Visual Studio .NET 2003 використовувала єдину модель для розробки програм - проектно-орієнтований підхід. Однак насправді такий підхід виявився не найкращим варіантом — принаймні для ASP.NET та Web-додатків.

Недоліки Visual Studio .NET 2003

У Visual Studio .NET 2003 програми створюються відповідно до концепціїпроекту, що представляє собою логічну сутність, що породжує будь-який додаток - будь то Windows Forms, Web, консольна програма або Web-сервіс. Розробники будують програму, створюючи новий проект, налаштовуючи його, а потім додаючи сторінки, Web-сервіси, класи та керуючі елементи. У термінах реалізації проект є XML-файл, що поєднує кілька файлів і каталогів. Що стосується Web-додатків, проект Visual Studio вимагає наявності віртуального каталогу Microsoft Internet Information Services (IIS), а також має й інші істотні недоліки. Хоча розробники успішно застосовують Visual Studio .NET для створення реальних додатків, цей інструмент не можна назвати ідеальним для відносно простих проектів.

Один із недоліків полягає в тому, що Visual Studio .NET вимагає застосування Microsoft FrontPage Server Extensions (FPSE) і не підтримує FTP, локальну файлову систему або прямий доступ до IIS. Крім того, вона залежить від IIS, який має бути встановлений на машині програмістачи сервері розробки. Ці обмеження мають значно більший вплив на процес розробки, ніж здається. Налагодження конфігурацій та сценаріїв становить великі складності, для створення нових проектів розробникам потрібні адміністративні привілеї, крім того, необхідно визначити ефективну корпоративну безпекову політику стосовно машин програмістів.

У Visual Studio .NET 2003 файл проекту є єдиним пунктом управління всіма компонентами програми. В результаті для того, щоб файл став складовою проекту, ви повинні явно додати його в проект і налаштувати - ви не можете просто вказати на існуючий віртуальний каталог і вважати справу зробленою. Інформація, закодована у файлі проекту, має більше значення, ніж дійсний вміст каталогу, що призводить до появи забутих та непотрібних файлів, що бовтаються у каталозі сайту. Синхронізація сотень файлів у великій програмі — нелегке завдання, а розгортання проектів на інших машинах може завдати ще більше клопоту. Крім того, Visual Studio .NET не вміє взаємодіяти з IIS і не дозволяє переглядати та редагувати віртуальні кореневі каталоги.

Однак проблема номер один при розробці Web-застосунків за допомогою Visual Studio .NET полягає в неможливості відкрити окрему сторінку поза проектом. Ви, звичайно, можете відкрити та відредагувати сторінку, але IntelliSense не працюватиме; те саме станеться і з іншими ключовими можливостями, такими як виконання та налагодження сторінок. Чесно кажучи, у цьому випадку Visual Studio .NET має лише одну перевагу перед Notepad - підсвічування синтаксису HTML.

Відмінні риси Visual Studio 2005

Visual Studio 2005 надає більш простий та дружній спосіб створення програм Web Forms.Істотних поліпшень торкнулися всіх недоробок, згаданих раніше. Давайте коротко розглянемо нову функціональність.

Visual Studio 2005 дозволяє працювати з Web-сайтами у різний спосіб. На додаток до використання FrontPage Server Extensions можна звертатися до вихідних файлів за допомогою FTP або вказавши безпосередній шлях у файловій системі. Ви також можете безпосередньо звертатися до локального IIS та переглядати існуючу ієрархію віртуальних каталогів. Ви отримуєте доступ до існуючих віртуальних кореневих каталогів і можете створювати нові. IIS не є необхідною вимогою для функціонування інструментів розробки. Як і Web Matrix, Visual Studio 2005 поставляється разом з локальним Web-сервером, що робить наявність IIS необов'язковою, принаймні для цілей налагодження та тестування.

Цей локальний Web-сервер є переробленою версією Cassini - безкоштовного Web-сервера, що спочатку поставлявся разом з Web Matrix. Локальний Web-сервер використовується за умовчанням, якщо ви явно не відкриєте проект з існуючого віртуального каталогу IIS. Ви можете відкрити свій веб-сайт, вказуючи шлях у файловій системі або віртуальний каталог IIS. У першому варіанті для тестування сайту застосовуватиметься локальний Web-сервер.

Взаємодія з IIS значно спрощена. При спробі відкрити веб-сайт вам пропонується кілька варіантів. Ви можете вказати місцезнаходження проекту, задавши шлях у файловій системі, використовуючи ієрархію віртуальних каталогів IIS (тільки у випадку локального IIS), використовуючи FTP або просто ввівши URL сайту, налаштованого за допомогою FrontPage Server Extensions. На вкладці IIS також знаходяться кнопки для створення нових віртуальних каталогів та програм.

Visual Studio 2005 некомпілює весь вміст сайту в складання, як це робить Visual Studio .NET 2003. Натомість використовується механізм динамічної компіляції ASP.NET. Цей механізм дозволяє відразу ж підхоплювати зміни у файлах .aspx, а й у файлах .cs чи .vb, що досягається завдяки особливого різновиду динамічної компіляції класів відділеного коду (code-behind classes).

Створення Web-сайту

Давайте створимо демонстраційний Web-сайт за допомогою Visual Studio 2005. Новий Web-сайт можна створити, вибравши пункт меню File New, а потім Web Site. Діалогове вікно, що з'явилося, пропонує вибрати тип сайту, який ви хочете створити. Зверніть увагу на два схожі варіанти: ASP.NET Web Site та ASP.NET Internet Site.

Якщо ви оберете Web Site, Visual Studio згенерує мінімальну кількість файлів, необхідних для створення Web-сайту. По суті, буде створено сторінку default.aspx та порожній каталог Data. Якщо ви вкажете варіант Internet Site, то буде задіяний стартовий набір ASP.NET — зразок персонального Web-сайту з деякими вбудованими стандартними можливостями. Давайте виберемо варіант під назвою Web Site.

Visual Studio 2005 створює файл проекту, але не використовує його для відстеження всіх файлів, що входять до програми. Кореневий каталог сайту сам неявно визначає Web-проект. Для додавання до проекту нового файлу його треба просто скопіювати або створити в цьому каталозі, і він відразу з'явиться у проекті. Якщо цього не відбувається, клацніть правою кнопкою на Solution Explorer і виберіть Refresh Folder.

Виберемо в меню шаблон елемента, який додаватимемо до нашого сайту.

Додамо HTML-код для створення сторінки Hello, World. Як мінімум, нам потрібно текстове поле для введення повідомлення та кнопка, щоб надіслати його всьому світу.Наступний HTML-код формує сторінку:

Як уже говорилося, ви можете відкривати існуючі Web-сайти за допомогою протоколу FTP, а потім створювати та редагувати там файли. Вам знадобиться доступ до FTP-сервера та дозвіл на читання та запис у конкретному FTP-каталозі. Каталог повинен існувати заздалегідь, оскільки Visual Studio 2005 не може створити новий веб-сайт FTP.

Проектування Web-форм

Однією з перших речей, що звертають на себе увагу Visual Studio 2005, є збереження форматування коду HTML при перемиканні між режимами. Будь-які виправлення в режимі проектування торкаються лише змінених елементів. Кошти автоматичного форматування, які Visual Studio .NET 2003 задіяла при зміні уявлень, відключені.

У Visual Studio 2005 покращено механізм верифікації HTML у порівнянні з старішими інструментами. Цей механізм дозволяє переконатися, що HTML-код, що створюється, підходить для поточного цільового браузера. Цей браузер вказано внизу вікна редагування, і його значення за промовчанням встановлено в Microsoft Internet Explorer 6.0. Коли ви вводите неприпустимий або неправильний тег, IDE виявляє несумісність та попереджає про неї. Проте цей засіб все одно дозволяє вводити неправильний код.

Кількість цільових клієнтських браузерів в ASP.NET 2.0 значно розширено і варіюється від Internet Explorer 6.0 до HTML 3.2 (використовується в Internet Explorer 3.x та Netscape Navigator 3.x). До інших цільових клієнтів належать мобільні схеми (Compact HTML 1.0 та мобільний HTML 3.2), Netscape 4.0 та XHTML 1.0 Transitional schema. Остання схема використовується у таких браузерах, як Netscape 7.0 та Opera 7.0.

Додавання коду до Web-форм

Як підключити серверний код дорізних HTML-елементів на сторінці .aspx? Щоб з'ясувати це, помістіть кнопку і двічі її клацніть. Visual Studio перейде в режим Server Code і створить порожній обробник для події елемента, що використовується за умовчанням. Для кнопки ця подіяClick:

Розмітка HTML модифікується автоматично – додається новий атрибутonclick: