- •Лекція 1 Вступ. Огляд парадигм та платформ для Web-розробки. Платформа asp.Net. Інструменти та інтегроване середовище розробки Visual Web Developer 2010.
- •1.1 Вступ. Поняття Інтернет. Базові концепції Всесвітньої павутини www. Еволюція Web
- •1.1.1 Поняття Інтернет
- •1.1.2 Базові концепції Всесвітньої павутини www
- •1.1.3 Еволюція Web
- •1.2 Огляд парадигм та платформ для Web-розробки
- •1.2.2 Найбільш поширені мови та технології розробки
- •1.3 Платформа asp.Net
- •1.3.1 Розвиток asp.Net
- •1.3.2 Ключові переваги asp.Net mvc
- •1.4 Інструменти та інтегроване середовище розробки Visual Web Developer 2010
- •1.4.3 Додаткові компоненти
- •1.4.4 Отримання допоміжної інформації від розробників
- •1 Анатомія html-документа
- •2 Текст
- •3 Гіперпосилання
- •4 Форматовані списки
- •5 Таблиці
- •6 Каскадні таблиці стилів
- •Лекція 3 Синтаксичні конструкції мови c#.
- •3.1Зв’язок між c# I .Net. Особливості платформи .Net
- •3.1.1 Загальномовне виконуюче середовище
- •3.1.2 Класи .Net Framework
- •3.1.3 Простори імен .Net
- •3.2Синтаксичні особливості c#
- •3.2.2 Визначені типи даних
- •3.2.3 Керування потоком виконання
- •3.2.4 Перерахування
- •3.2.5 Простори імен
- •3.2.6 Метод Main (). Консольний ввід-вивід. Коментарі.
- •3.3Об’єкти і типи
- •3.3.1 Класи
- •3.3.2 Структури
- •3.4Наслідування
- •3.4.1 Типи наслідування
- •3.4.2 Модифікатори доступу
- •3.4.3 Інтерфейси
- •3.5Узагальнення
- •3.6Операції
- •1 Колекції
- •2 Делегати
- •Лекція №5 Елементи керування на сторінках asp.Net
- •1. Структура web-додатку на основі asp.Net
- •2. Керування станом в asp.Net
- •3. Серверні елементи керування на сторінках asp.Net
- •3.1 Серверні веб-елементи управління
- •4. Сценарії обробки запитів
- •5. Життєвий цикл сторінки asp.Net
1.2 Огляд парадигм та платформ для Web-розробки
1.2.1 Web-розробка
Веб-програмування (Веб-розробка) – це розділ програмування, що бурхливо розвивається та орієнтований на розробку динамічних Інтернет-додатків.
Мови веб-програмування діляться на дві групи: клієнтські і серверні.
Клієнтські мови обробляються на стороні користувача (в основному в браузері). Відповідно обробка скрипта залежить від браузера користувача, і користувач має повноваження настроїти свій браузер так, щоб той взагалі ігнорував скрипти. При цьому якщо браузер старий, він може не підтримувати ту або іншу мову або версію мови, на яку спирався розробник. З сучасними браузерами таких проблем виникати не повинно, до того ж мови програмування не так вже часто кардинально оновлюються (раз на кілька років) і кращі з них давно відомі. Код клієнтського скрипта може подивитися кожен, вибравши в меню свого браузера "Вихідний код сторінки".
Перевага клієнтської мови полягає в тому, що обробка скриптів на такій мові може виконуватися без відправки документа на сервер. Програма відразу перевірить правильне заповнення форми перед відправкою, і, якщо необхідно, виведе помилку. Звідси ж випливає і те обмеження, що за допомогою клієнтської мови програмування ніяка інформація не може бути записана на сервер.
Найпоширенішою з клієнтських мов є JavaScript, розробниками якої є компанія Netscape спільно з компанією Sun Microsystems. Ще одна популярна мова – це VBScript. Крім цього, останнім часом набрали популярність такі технології як AJAX, Adobe Flash, Microsoft Silverlight і інші.
Серверні мови програмування відкривають перед програмістом великі простори в діяльності.
Коли користувач робить запит на будь-яку сторінку (переходить на неї по посиланню, або вводить адресу в адресному рядку свого браузера), то викликана сторінка спочатку обробляється на сервері (тобто виконуються всі програми, пов'язані зі сторінкою), і тільки потім повертається до відвідувача по мережі у вигляді файлу. Цей файл може мати розширення: HTML, PHP, ASP, Perl, SSI, XML, DHTML, XHTML.
Робота програм вже повністю залежна від сервера, на якому розташований сайт, і від того, яка версія тієї чи іншої мови підтримується.
Важливою стороною роботи серверних мов є Система управління базами даних (СКБД). Це, по суті, теж сервер, на якому в певному користувачем порядку зберігається різна необхідна інформація, яка може бути викликана в будь-який момент. Популярними серед систем управління базами даних є:
IBM DB2;
Microsoft SQL Server;
MySQL;
Oracle;
PostgreSQL;
SQLite.
Хронологія розвитку веб-технологій показана на рис.1.4.
Рис. 1.4. – Хронологія розвитку веб-технологій
1.2.2 Найбільш поширені мови та технології розробки
Розглянемо детальніше найбільш відомі мови і технології.
HTML
HTML (HyperText Markup Language - "мова розмітки гіпертексту") - стандартна мова розмітки документів у Всесвітній павутині. Більшість веб-сторінок створюються за допомогою мови HTML. Мова HTML інтерпретується браузером і відображається у вигляді документа у зручній для людини формі. HTML є додатком SGML (стандартної узагальненої мови розмітки) і відповідає міжнародному стандарту ISO 8879.
Мова HTML була розроблена британським ученим Тімом Бернерсом-Лі приблизно в 1991-1992 роках в стінах Європейської ради з ядерних досліджень у Женеві (CERN). HTML створювалася як мова для обміну науковою і технічною документацією, придатна для використання людьми, які не є фахівцями в області верстки. HTML успішно справлявся з проблемою складності SGML шляхом визначення невеликого набору структурних і семантичних елементів - дескрипторів. Дескриптори також часто називають "тегами". За допомогою HTML можна легко створити відносно простий, але красиво оформлений документ. Крім спрощення структури документа, в HTML внесена підтримка гіпертексту. Мультимедійні можливості були додані пізніше. Спочатку мова HTML була задумана і створена як засіб структурування та форматування документів без їх прив'язки до засобів відтворення (відображення).
Текстові документи, що містять код на мові HTML (такі документи традиційно мають розширення .Html або .Htm), обробляються спеціальними додатками, які відображають документ у його форматованому вигляді. Такі додатки, звані "браузерами" або "Інтернет-оглядачами", зазвичай надають користувачеві зручний інтерфейс для запиту веб-сторінок, їх перегляду (і виведення на інші зовнішні пристрої) і, при необхідності, відправки введених користувачем даних на сервер.
Специфікація HTML має кілька версій:
RFC 1866 - HTML 2.0, схвалений як стандарт 22 вересня 1995;
HTML 3.2 [36] - 14 січня 1997 року;
HTML 4.0 [37] - 18 грудня 1997 року;
HTML 4.01 [38] - 24 грудня 1999 року;
ISO / IEC 15445:2000 [39] (так званий ISO HTML, заснований на HTML 4.01 Strict) - 15 травня 2000 року.
XHTML
XHTML (Extensible Hypertext Markup Language - розширювана мова розмітки гіпертексту) - мова розмітки веб-сторінок, за можливостями порівнянна з HTML, створена на базі XML. Як і HTML, XHTML відповідає специфікації SGML, оскільки XML є її підмножиною.
Стандарт XHTML побудований не як самодостатній опис мови, а як перелік відмінностей між HTML 4.01 і XHTML:
Всі елементи повинні бути закриті. Теги, які не мають закриваючого тегу (наприклад, <img> або <br>) повинні мати на кінці / (наприклад, <br />).
Булеві атрибути записуються в розгорнутій формі. Наприклад, слід писати <option selected="selected"> або <td nowrap="nowrap">.
Імена тегів і атрибутів повинні бути записані малими літерами (наприклад, <img alt="" /> замість <IMG ALT="" />).
XHTML набагато суворіше ставиться до помилок в коді; <і & скрізь, навіть в URL, повинні заміщатися < і & відповідно. За рекомендацією W3C браузери, зустрівши помилку в XHTML, повинні повідомити про неї і не обробляти документ.
Кодування за замовчуванням є UTF-8 (на відміну від HTML, де кодуванням за замовчуванням є ISO 8859-1).
Версії XHTML:
XHTML 1.0 Перехідний (Transitional): призначена для легкої міграції з HTML 3.2 і для тих, хто використовує інлайн-Фрейм.
XHTML 1.0 Строгий (Strict): повністю відокремлює вміст документа від оформлення (задається тільки через CSS), багато атрибутів (такі як, наприклад, bgcolor і align) більше не підтримуються, їх поведінку можна задавати тільки через таблицю стилів.
XHTML 1.0 Фреймовий (Frameset): використовується, якщо необхідно розділити вікно браузера на декілька фреймів.
XHTML 1.1 Модульний (Module-based): автори можуть імпортувати додаткові властивості в їх розмітку.
XHTML Основний (Basic): спеціальна полегшена версія XHTML для пристроїв, які не можуть використовувати повний набір елементів XHTML - в основному використовується в мініатюрних пристроях, таких як мобільні телефони.
XHTML мобільного профілю (Mobile Profile): заснована на XHTML Basic, додає специфічні елементи для мобільних телефонів.
XHTML 2.0. Поки в розробці. Синтаксис ще більше наближений до синтаксису XML. Також є модульною мовою.
CSS
CSS (Cascading Style Sheets - каскадні таблиці стилів) - технологія опису зовнішнього вигляду документа, написаного мовою розмітки. Переважно використовується як засіб оформлення веб-сторінок у форматі HTML і XHTML, але може застосовуватися з будь-якими видами документів у форматі XML, включаючи SVG і XUL.
Термін "каскадні таблиці стилів" був запропонований Хокон Віум Лі в 1994 році. Спільно з Бертом Босому він став розвивати CSS.
CSS використовується творцями веб-сторінок для задання кольорів, шрифтів, розташування і інших аспектів представлення документа. Основною метою розробки CSS було розділення вмісту (написаного на HTML або іншій мові розмітки) і представлення документа (написаного на CSS). Це розділення може збільшити доступність документа, надати велику гнучкість і можливість управління його уявленням, а також зменшити складність і повторюваність в структурному вмісті. Крім того, CSS дозволяє представляти один і той же документ в різних стилях або методи виведення, таких як екранне уявлення, друк, читання голосом (спеціальним голосовим браузером або програмою читання з екрану) і інше.
Переваги застосування CSS:
кілька дизайнів сторінки для різних пристроїв перегляду;
зменшення часу завантаження сторінок сайту за рахунок перенесення правил представлення даних в окремий CSS-файл;
простота подальшої зміни дизайну;
додаткові можливості оформлення, наприклад, за допомогою CSS-верстки можна зробити блок тексту, який останній текст буде обтікати або зробити так, щоб меню було завжди видно при прокручуванні сторінки.
Недоліки застосування CSS:
різне відображення верстки в різних браузерах (особливо застарілих), які по-різному інтерпретують одні й ті ж дані CSS;
часто зустрічається необхідність на практиці виправляти не тільки один CSS-файл, але і теги HTML і серверний код, які складним і ненаглядним способом пов'язані з селекторами CSS.
XML
XML (eXtensible Markup Language - розширювана мова розмітки) - рекомендована Консорціумом Всесвітньої павутини мова розмітки, фактично представляє собою звід загальних синтаксичних правил. XML - текстовий формат, призначений для зберігання структурованих даних (замість існуючих файлів баз даних), для обміну інформацією між програмами, а також для створення на його основі більш спеціалізованих мов розмітки (наприклад, XHTML), іноді званих словниками. XML є спрощеною підмножиною мови SGML. Роком народження XML можна вважати 1996 рік, в кінці якого з'явився чорновий варіант специфікації мови, або 1998, коли ця специфікація була затверджена.
Метою створення XML було забезпечення сумісності при передачі структурованих даних між різними системами обробки інформації, особливо при передачі таких даних через Інтернет. Словники, засновані на XML (наприклад, RDF, RSS, MathML, XHTML, SVG), самі по собі формально описані, що дозволяє програмно змінювати і перевіряти документи на основі цих словників, не знаючи їх семантики, тобто, не знаючи смислового значення елементів. Важливою особливістю XML також є застосування так званих просторів імен (namespace).
До достоїнств використання XML можна віднести:
XML - мова розмітки, що дозволяє відобразити двійкові дані в текст, що читається людиною і аналізований комп'ютером;
XML підтримує Юнікод;
у форматі XML можуть бути описані такі структури даних як записи, списки і дерева;
XML - це самодокументований формат, який описує структуру і імена полів так само, як і значення полів;
XML має строго певний синтаксис і вимоги до аналізу, що дозволяє йому залишатися простим, ефективним і несуперечливим;
Ієрархічна структура XML підходить для опису практично будь-яких типів документів, крім аудіо і відео мультимедійних потоків, растрових зображень, мережевих структур даних і двійкових даних;
XML не залежить від платформи;
XML є підмножиною SGML;
XML не накладає вимог на розташування символів в рядку;
на відміну від бінарних форматів, XML містить метадані про імена, типи і класи описуваних об'єктів, по яких додаток може обробити документ;
XML має реалізації парсерів для всіх сучасних мов програмування;
• XML підтримується на низькому апаратному, мікропрограмному і програмному рівнях в сучасних апаратних рішеннях.
До недоліків XML можна віднести:
синтаксис XML надмірний:
неоднозначність моделювання, тобто немає загальноприйнятої методології для моделювання даних в XML;
XML не містить вбудованої в мову підтримки типів даних;
ієрархічна модель даних, пропонована XML, обмежена в порівнянні з реляційною моделлю і об'єктно-орієнтованими графами і мережевою моделлю даних;
простору імен XML складно використовувати і їх складно реалізовувати в XML-парсер.
Найбільш поширені три способи перетворення XML-документа у відображуваний користувачеві вигляд:
1. застосування стилів CSS;
2. застосування перетворення XSLT;
3. написання на якій-небудь мові програмування обробника XML-документа.
JavaScript
Об'єктно-орієнтовна скриптова мова програмування JavaScript (спочатку названа LiveScript його творцем, Бренданом Ваше, і розгорнута у складі браузера Netscape Navigator) була вперше представлена публіці в 1995 році.
JavaScript зазвичай використовується як вбудовувана мова для програмного доступу до об'єктів додатків. Найбільш широке застосування знаходить в браузерах як мова сценаріїв для додання інтерактивності веб-сторінок.
Основні архітектурні риси: динамічна типізація, слабка типізація, автоматичне керування пам'яттю, прототипне програмування, функції як об'єкти першого класу.
На JavaScript вплинули багато мов, при розробці була мета зробити мову схожу на Java, але при цьому легкою для використання непрограмістами. Мовою JavaScript не володіє якась компанія або організація, що відрізняє її від ряду мов програмування, використовуваних у веб-розробці.
JavaScript має низку властивостей об'єктно-орієнтованої мови, але реалізоване в мові прототипування обумовлює відмінності в роботі з об'єктами в порівнянні з традиційними об'єктно-орієнтованими мовами. Крім того, JavaScript має ряд властивостей, властивих функціональним мовам - функції як об'єкти першого класу, об'єкти як списки, анонімні функції, замикання - що додає мові додаткову гнучкість.
Структурно JavaScript можна представити у вигляді об'єднання трьох чітко відділених одна від одної частин:
• ядро (ECMAScript);
• об'єктна модель браузера (Browser Object Model або BOM);
• об'єктна модель документа (Document Object Model або DOM).
Якщо розглядати JavaScript у відмінних від браузера оточеннях, то об'єктна модель браузера і об'єктна модель документа можуть не підтримуватися. Об'єктну модель документа іноді розглядають як окрему від JavaScript сутність, що узгоджується з визначенням DOM як незалежної від мови інтерфейсу документа.
Для додавання JavaScript-коду на сторінку, можна використовувати теги <script> </ script>.
Область застосування JavaScript дуже широка: від клієнтської частини веб-додатків та браузерних операційних систем до реалізації віджетів, офісних додатків, використання в якості мови розробки мобільних додатків.
Для забезпечення високого рівня абстракції і досягнення прийнятного ступеня крос-браузерності при розробці веб-додатків використовуються бібліотеки JavaScript. Вони являють собою набір багаторазово використовуваних об'єктів і функцій. Серед відомих JavaScript бібліотек можна відзначити Adobe life, Dojo Toolkit, Extjs, jQuery, Mootools, Prototype, Qooxdoo.
PHP
PHP (PHP: Hypertext Preprocessor - "PHP: препроцесор гіпертексту", Personal Home Page Tools - "Інструменти для створення персональних веб-сторінок") - скриптова мова програмування загального призначення, інтенсивно застосовується для розробки веб-додатків. В даний час підтримується переважною більшістю хостинг-провайдерів і є одною з лідируючих серед мов програмування, що застосовуються для створення динамічних веб-сайтів.
Мова і його інтерпретатор розробляються групою ентузіастів у рамках проекту з відкритим кодом. Проект не є вільним і поширюється під власною ліцензією.
У області програмування для Інтернет PHP - одна з найпопулярніших скриптових мов (разом з JSP, Perl і мовами, використовуваними в ASP.NET) завдяки своїй простоті, швидкості виконання, багатій функціональності, кросплатформенності і розповсюдженню початкових кодів на основі ліцензії PHP.
На даний момент існує єдина реалізація PHP, жодна стороння компанія не підтримує виконуваних модулів, відмінних від офіційної збірки. Такий стан речей, з одного боку, дозволяє швидко впроваджувати і поширювати нововведення серед спільноти розробників, з іншого боку, розробляти мову програмування в умовах відсутності стандарту, так як єдина реалізація забезпечує його за фактом. У таких умовах великого значення набуває версія інтерпретатора, визначаюча поточну функціональність (зворотна сумісність між версіями інтерпретатора не дотримується строго).
Perl
Perl - високорівнева інтерпретуюча динамічна мова програмування загального призначення, створена в 1987 р. Ларрі Уолл, лінгвістом за освітою. Назва мови являє собою абревіатуру, яка розшифровується як Practical Extraction and Report Language - "практична мову для витягання даних і складання звітів".
Основною особливістю мови вважаються її багаті можливості для роботи з текстом, в тому числі реалізовані за допомогою регулярних виразів. Перл успадкував багато властивостей від мов С, shell script, awk.
Perl також знаменитий величезною колекцією додаткових модулів CPAN.
AJAX
AJAX (Asynchronous Javascript and XML - "асинхронний JavaScript і XML») - підхід до побудови інтерактивних користувацьких інтерфейсів веб-додатків, що полягає в "фоновому" обміні даними браузера з веб-сервером. В результаті, при оновленні даних веб-сторінка не перезавантажується повністю і веб-додатки стають швидшими і зручнішими.
Вперше термін AJAX був публічно використаний в 2005 році в статті Джесі Джеймса Гарретта (Jesse James Garrett) «Новий підхід до веб-додатків". Гарретт придумав термін, коли йому довелося якось назвати новий набір технологій, пропонований ним клієнту.
AJAX - не самостійна технологія, а концепція використання декількох суміжних технологій. AJAX базується на двох основних принципах:
використання технології динамічного звернення до серверу «на льоту», без перезавантаження всієї сторінки повністю;
використання DHTML для динамічної зміни змісту сторінки.
В якості формату передачі даних зазвичай використовуються JSON або XML.
До переваг AJAX можна віднести:
використання AJAX дозволяє значно скоротити трафік при роботі з веб-додатком;
AJAX дозволяє дещо понизити навантаження на сервер;
прискорення реакції інтерфейсу.
До недоліків AJAX можна віднести:
відсутність інтеграції зі стандартними інструментами браузера;
динамічно завантажений вміст зазвичай недоступний пошуковцям;
старі методи обліку статистики сайтів стають неактуальними.
Adobe Flash
Adobe Flash (раніше відома як Macromedia Flash) - мультимедійна платформа, використовувана для створення векторної анімації та інтерактивних програм, а також для інтеграції відеороликів у веб-сторінки.
Adobe Flash дозволяє працювати з векторною, растровою та обмежено з тривимірною графікою, а також підтримує двонаправлену потокову трансляцію аудіо і відео.
В основі Flash лежить векторний морфінг, тобто плавне "перетікання" одного ключового кадру в інший. Це дозволяє робити складні мультиплікаційні сцени, задаючи лише кілька ключових кадрів для кожного персонажа.
Flash використовує мову програмування ActionScript, засновану на ECMAScript. В якості основного засобу розробки використовується пакет Adobe Flash Professional (остання версія Adobe Flash CS4). Стандартним розширенням для скомпільованих Flash-файлів є SWF (Shockwave Flash або Small Web Format). Відеоролики у форматі Flash являють собою файли з розширенням FLV (при цьому Flash в даному випадку використовується тільки як контейнер для відеозапису).
Flash-контент відтворюється за допомогою цілого ряду програмних засобів, але домінуюче становище на ринку займає офіційний Adobe Flash Player, поширюваний в якості безкоштовного плагіна для більшості сучасних браузерів.
Основний недолік Flash-додатків - надмірна вимогливість до ресурсів процесора. Недостатня потужність комп'ютера може вплинути на продуктивність операційної системи в цілому, або призвести до спотворення результатів роботи Flash-додатків, пов'язаних з відображенням анімації або підрахунком часу.
Інший важливий недолік полягає в тому, що не завжди є можливість запустити Flash-додаток, або вона пов'язана з деякими труднощами (наприклад, необхідно встановити плагін або оновити його до останньої версії). Також використання Flash для розміщення текстової інформації перешкоджає її індексуванню пошуковими системами. Однак існує безліч способів вирішити цю проблему.
Silverlight
Microsoft Silverlight - це мультимедійна технологія, схожа за розв'язуваним завданням з Adobe Flash. Також Microsoft Silverlight - це плагін для браузера, який дозволяє запускати додатки, що містять анімацію, векторну графіку і аудіо-відео ролики, що характерно для RIA (Rich Internet application).
Silverlight реалізований для більшості операційних систем та браузерів.
Silverlight надає графічну систему, схожу з Windows Presentation Foundation, і об'єднує мультимедіа, графіку, анімацію і інтерактивність в одній програмній платформі. Він був розроблений, щоб працювати з XAML і з мовами Microsoft.NET. XAML використовується для розмітки сторінок, що використовують векторну графіку і анімацію. Текст, що міститься в Silverlight додатках, доступний для пошукових систем, так як він не компілюється, а доступний у вигляді XAML. Silverlight також можна використовувати для того, щоб створювати віджети для Windows Sidebar в Windows Vista.
Silverlight підтримує відтворення WMV, WMA і MP3 для всіх підтримуваних браузерів, не вимагаючи при цьому додаткових компонентів, таких як Windows Media Player.
Silverlight дозволяє динамічно завантажувати XML і використовувати DOM для взаємодії з ним так само, як це робиться в Ajax. Silverlight містить об'єкт Downloader, завдяки якому можна завантажувати скрипти, медіа файли і т. д., якщо це необхідно додатком. Починаючи з версії 2.0, логіка програми може бути описана в будь-якій з мов програмування .NET, включаючи динамічні мови програмування, такі як Iron Ruby і Iron Python, які в свою чергу виконуються в DLR (Dynamic Library Runtime), а не CLR (Common Language Runtime ).
ASP.NET
ASP.NET - технологія створення веб-додатків і веб-сервісів від компанії Microsoft. Вона є складовою частиною платформи Microsoft.NET і розвитком старішої технології Microsoft ASP.
Хоча ASP.NET бере свою назву від старої технології Microsoft ASP, вона значно від неї відрізняється. Microsoft повністю перебудувала ASP.NET, грунтуючись на Common Language Runtime (CLR), який є основою всіх програм Microsoft.NET. Розробники можуть писати код для ASP.NET, використовуючи практично будь-які мови програмування, в тому числі і ті, що входять у комплект .NET Framework (C #, Visual Basic.NET, і JScript. NET). ASP.NET має перевагу в швидкості в порівнянні зі скриптовими технологіями, так як при першому зверненні код компілюється і поміщається в спеціальний кеш, і згодом тільки виконується, не вимагаючи витрат часу на парсинг, оптимізацію, і т. д.
Разом з тим слід враховувати, що зазначена перевага не завжди може бути реалізована. Це пов'язано з тим, що на швидкість роботи реального проекту впливають безліч чинників. В першу чергу це кваліфікація керівників розробки та виконавців: повільні алгоритми легко зводять нанівець незначну перевагу скомпільованого коду перед інтерпретацією серверних скриптів.
Переваги ASP.NET перед ASP:
компільований код виконується швидше, більшість помилок відловлюється ще на стадії розробки;
значно поліпшена обробка помилок часу виконання, з використанням блоків try .. catch;
використання метафор, які вже застосовуються в Windows-додатках, наприклад, таких як елементи управління і події;
розширюваний набір елементів управління і бібліотек класів дозволяє швидше розробляти додатки;
ASP.NET спирається на багатомовні можливості. NET, що дозволяє писати код сторінок на VB.NET, Delphi.NET, Visual C #, J # і т. д.;
можливість кешування всієї сторінки або її частини для збільшення продуктивності;
можливість кешування даних, використовуваних на сторінці;
можливість поділу візуальної частини та бізнес-логіки по різних файлах ("code behind");
розширювані модель обробки запитів, модель подій, модель серверних елементів управління;
наявність master-сторінок для завдання шаблонів оформлення сторінок;
підтримка CRUD операцій при роботі з таблицями через GridView;
вбудована підтримка AJAX.
Детальніше переваги платформи ASP.NET описано далі.
