SlideShare a Scribd company logo
1 of 25
Основи Веб програмування
        + ASP.NET
Що таке веб програмування

• Це так як десктоп, але веб.
• Важливо розуміти різницю між серверною
  частиною та клієнтською.
Що таке веб сервер

• IIS
• Apache
• …
Навіщо веб браузер
Http protocol

Hypertext Transfer Protocol:

Request types:
  – GET (дані передаються у адресі)
  – POST (дані передаються у тілі запиту)
HTML

<!doctype HTML public "-
//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
  <head>
    <title>Hello world</title>
  </head>
  <body>
    Hello world!
  </body>
</html>
CSS

Каскадні таблиці стилів – спеціальна мова налаштування зовнішнього
вигляду HTML елементів.

p { font-family: Verdana, sans-serif; }
h2 { font-size: 110%; color: red; background: white; }
.note { color: red; background: yellow; font-weight: bold; }
#paragraph1 { margin: 0; }
a:hover { text-decoration: none; }
CSS селектори

Селектори:

# - доступ до елементу за ІД
. – іменований стиль
<tag name> - доступ до всіх елементів даного типу
<tag name>:<псевдоклас> - доступ до елементу з певною властивістю
JavaScript

Мова для керування виконанням клієнтських сценаріїв.
IIS
Веб сервер на якому можна розміщувати ASP.NET веб сайти та інші.

Має вбудовані можливості:
- Аутентифікації
- Кешування
- Стиснення контенту
- Перенаправлення запитів
- Балансування нагрузок між серверами
- WebFarms
- Управління пулом аплікацій
Що таке ASP.NET
ASP.NET – технологія для створення веб сайтіввеб сервісів від компанії
Microsoft.

Майкрософт прагнули зробити програмування під веб максимально
подібним до програмування під віндовс.

Код може компілюватися при першому зверненні до сайту.
ASP.NET Page
Складається з коду розмітки, та code-behind класу – обробнику.


Файл розмітки містить HTML + asp:<controlName>

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs"
Inherits="WebApplication1.WebForm1" %>
<!DOCTYPE html PUBLIC "-
//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml
1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
  <title></title>
</head>
<body>
  <form id="form1" runat="server">
    <div>
       <asp:Label ID="lblHello" Text="Hello" runat="server" />
    </div>
  </form>
</body>
</html>
ASP.NET Page
Складається з коду розмітки, та code-behind класу – обробнику.


Code-behind клас містить обробник всіх подій сторінки. Написаний на C#




namespace WebApplication1
{
  public partial class WebForm1 : System.Web.UI.Page
  {
    protected void Page_Load(object sender, EventArgs e)
    {
    }
  }
}
ASP.NET Controls
Елементи управління дуже подібні до Windows forms:

<asp:Label…
<asp:Button
….


Кожному asp.net елементу обов’язково вказувати наступні поля:

- ID – назва елементу (аналог Name у WF)
- runat=“server” – це означає що це серверний контрол
Що таке MasterPage
MasterPage – це «шаблон» сторінки, використовуючи його ми можемо
позбутися дублювання код і верстки для різних сторінок.
Застереження


 Не використовуйте private fields на
сторінках для зберігання інформації
     між запитами до сторінки.
Що таке ViewState

ViewState – це KeyValue колекція яка при кожному запиті до сторінки
передається між клієнтом та сервером.

Використовується для зберігання проміжних данних.

Дані зберігаються закодовані у hidden полі __VIEWSTATE.

Дуже часто для підвищення продуктивності відключаються це поле.
Що таке Session
Session – це KeyValue колекція яка зберігається на сервері для кожного
користувача окремо.

Можемо зберігати проміжну інформацію.

Більш захищене сховище а ніж ViewState.

Якщо у вас є ймовірність того що сайт буде у так званій WebFarm то
Session або не використовують або передають управління сесіями SQL
серверу.

Таймаут сесії за замовчуванням 30 хвилин.
ASP.Net Page LifeCycle
PreInit – створюються або перестворюються динамічні контроли,
встановлюється динамічно мастер пейдж, та тема.

Init – викликається після того як всі контроли створені і мастер пейдж
встановлений. Тут ви можете до-ініціалізовувати контроли.

InitComplete – викликається в кінці ініціалізації сторінки. Можна
використовувати для внесення змін у ViewState.

Load – тут викликається метод OnLoad сторінки. Тут ви можете змінювати
контроли, встановлювати з’єднання з базою данних і т.д.

ControlEvents – оброблення подій викликаних контролами (Click,
TextChanged …)

Render – це не подія, це завершальний крок відображення сторінки.

Unload – викликається для всіх контролів і тоді для сторінки.
Використовують для очищення.
Що таке PostBack
PostBack – це назва процесу відправлення сторінки для обробки на сервер.

PostBack – є аналогом form submit.

Перевірити чи дана загрузка сторінки є PostBack – мона за допомогою
IsPostBack властивості сторінки.

Якщо у вас є наприклад DropDownList і ви хочете щоб після вибору значення
автоматично відсилалося на сервер – просто поставте AutoPostBack = true
Web Application
Усі static об’єкти є спільними для всіх користувачів.

Ініціалізуються static об‘єкти при старті аплікації на веб сервері. Знищуються –
при зупинці роботи.

Всі можливі маніпуляції з веб сайтом у цілому можна здійснювати за
допомогою подій, а підписуватися на них можна у файлі Global.asax
Що таке Global.asax
Робота з HttpContext
Клас для роботи з запитом від користувача: HttpContext.Current.Request

HttpContext.Current.Request.QueryString – робота з GET параметрами
HttpContext.Current.Request.InputStream – робота з тілом POST
HttpContext.Current.Request.Headers – заголовки запиту

Клас для роботи з відповіддю до користувача: HttpContext.Current.Response

HttpContext.Current.Response.Redirect(url); - перенаправлення сторінки
HttpContext.Current.Response.TransmitFile(fileName); - передача файлу на клієнт
Робота з HttpServerUtility
Page.Server – об’єкт сторінки, для полегшення роботи з даними на сервері.

Server.Transfer(url) – аналогічно до редірект, тільки УРЛ залишається не
змінним.

Server.HtmlEncode(string) – кодування HTML стрічки. (позбавлення спец
символів для HTML)

Server.HtmlDecode(string) – розкодування HTML стрічки.
Що таке web.config

Web.config це конфігураційний файл веб аплікації.

Кожний рівень в ІІС має свій конфігураційний файл.

Конфігураційні файли мають ієрархічну структуру, та ті що лежать нижче –
перекривають верхні.

Конфігураційний файл містить секції:
- ConnectionStrings
- AppSettings
- Authentication
- ...

More Related Content

What's hot

Web service lecture
Web service lectureWeb service lecture
Web service lectureeleksdev
 
Version control
Version controlVersion control
Version controleleksdev
 
G rpc lection1_theory_bkp2
G rpc lection1_theory_bkp2G rpc lection1_theory_bkp2
G rpc lection1_theory_bkp2eleksdev
 
.NET Platform. C# Basics
.NET Platform. C# Basics.NET Platform. C# Basics
.NET Platform. C# Basicseleksdev
 

What's hot (6)

ASP.Net MVC
ASP.Net MVCASP.Net MVC
ASP.Net MVC
 
Web service lecture
Web service lectureWeb service lecture
Web service lecture
 
Version control
Version controlVersion control
Version control
 
G rpc lection1_theory_bkp2
G rpc lection1_theory_bkp2G rpc lection1_theory_bkp2
G rpc lection1_theory_bkp2
 
.NET Platform. C# Basics
.NET Platform. C# Basics.NET Platform. C# Basics
.NET Platform. C# Basics
 
ASP.Net part 2
ASP.Net part 2ASP.Net part 2
ASP.Net part 2
 

Viewers also liked

Małoletni jako świadek w procesie karnym - ebook
Małoletni jako świadek w procesie karnym - ebookMałoletni jako świadek w procesie karnym - ebook
Małoletni jako świadek w procesie karnym - ebooke-booksweb.pl
 
Po prostu własny serwer internetowy
Po prostu własny serwer internetowyPo prostu własny serwer internetowy
Po prostu własny serwer internetowyWydawnictwo Helion
 
Przewodnik po panelu Klienta HURTUM.
Przewodnik po panelu Klienta HURTUM.Przewodnik po panelu Klienta HURTUM.
Przewodnik po panelu Klienta HURTUM.HURTUM
 
Radosław Kuczera, Optymalizacja hostingu oraz architektury serwisów Web 2.0
Radosław Kuczera, Optymalizacja hostingu oraz architektury serwisów Web 2.0Radosław Kuczera, Optymalizacja hostingu oraz architektury serwisów Web 2.0
Radosław Kuczera, Optymalizacja hostingu oraz architektury serwisów Web 2.0Webhosting.pl
 
Prezentacja podsumowanie dyskusji i odpowiedzi na pytania
Prezentacja podsumowanie dyskusji i odpowiedzi na pytaniaPrezentacja podsumowanie dyskusji i odpowiedzi na pytania
Prezentacja podsumowanie dyskusji i odpowiedzi na pytaniaPiotr Choroś
 
2. Regiony europejskie
2. Regiony europejskie2. Regiony europejskie
2. Regiony europejskiep_andora
 
Biogas from algae - chances and barriers
Biogas from algae - chances and barriersBiogas from algae - chances and barriers
Biogas from algae - chances and barriersPomcert
 
Media 22.08.2012
Media 22.08.2012Media 22.08.2012
Media 22.08.2012infokosz
 
Patrole Czystości 2009 – 2010 podsumowanie
Patrole Czystości 2009 – 2010 podsumowaniePatrole Czystości 2009 – 2010 podsumowanie
Patrole Czystości 2009 – 2010 podsumowanietoaleta2012
 
Gotowość szkolna
Gotowość szkolnaGotowość szkolna
Gotowość szkolnawiosenka
 
Contium ZarząDzanie Dokumentami W Enterprise2 0
Contium ZarząDzanie Dokumentami W Enterprise2 0Contium ZarząDzanie Dokumentami W Enterprise2 0
Contium ZarząDzanie Dokumentami W Enterprise2 0Grzegorz Rudno-Rudzinski
 
Nowe Finansowo.pl dla Pożyczkobiorców
Nowe Finansowo.pl dla PożyczkobiorcówNowe Finansowo.pl dla Pożyczkobiorców
Nowe Finansowo.pl dla PożyczkobiorcówFinansowo.pl
 
TROPletter - luty 2014 - Stop-klatka, czyli jak łapać dystans
TROPletter - luty 2014 - Stop-klatka, czyli jak łapać dystansTROPletter - luty 2014 - Stop-klatka, czyli jak łapać dystans
TROPletter - luty 2014 - Stop-klatka, czyli jak łapać dystansGrupa Trop
 

Viewers also liked (20)

Testowanie ponad granicami. Czynniki kulturowe w zapewnieniu jakości
Testowanie ponad granicami. Czynniki kulturowe w zapewnieniu jakościTestowanie ponad granicami. Czynniki kulturowe w zapewnieniu jakości
Testowanie ponad granicami. Czynniki kulturowe w zapewnieniu jakości
 
Małoletni jako świadek w procesie karnym - ebook
Małoletni jako świadek w procesie karnym - ebookMałoletni jako świadek w procesie karnym - ebook
Małoletni jako świadek w procesie karnym - ebook
 
URSA - zeszyt - termoizolacja podłóg na gruncie i stropie
URSA - zeszyt - termoizolacja podłóg na gruncie i stropieURSA - zeszyt - termoizolacja podłóg na gruncie i stropie
URSA - zeszyt - termoizolacja podłóg na gruncie i stropie
 
Po prostu własny serwer internetowy
Po prostu własny serwer internetowyPo prostu własny serwer internetowy
Po prostu własny serwer internetowy
 
Przewodnik po panelu Klienta HURTUM.
Przewodnik po panelu Klienta HURTUM.Przewodnik po panelu Klienta HURTUM.
Przewodnik po panelu Klienta HURTUM.
 
Radosław Kuczera, Optymalizacja hostingu oraz architektury serwisów Web 2.0
Radosław Kuczera, Optymalizacja hostingu oraz architektury serwisów Web 2.0Radosław Kuczera, Optymalizacja hostingu oraz architektury serwisów Web 2.0
Radosław Kuczera, Optymalizacja hostingu oraz architektury serwisów Web 2.0
 
Prezentacja podsumowanie dyskusji i odpowiedzi na pytania
Prezentacja podsumowanie dyskusji i odpowiedzi na pytaniaPrezentacja podsumowanie dyskusji i odpowiedzi na pytania
Prezentacja podsumowanie dyskusji i odpowiedzi na pytania
 
2. Regiony europejskie
2. Regiony europejskie2. Regiony europejskie
2. Regiony europejskie
 
Biogas from algae - chances and barriers
Biogas from algae - chances and barriersBiogas from algae - chances and barriers
Biogas from algae - chances and barriers
 
Design Thinking - Warsztaty
Design Thinking - WarsztatyDesign Thinking - Warsztaty
Design Thinking - Warsztaty
 
Media 22.08.2012
Media 22.08.2012Media 22.08.2012
Media 22.08.2012
 
Patrole Czystości 2009 – 2010 podsumowanie
Patrole Czystości 2009 – 2010 podsumowaniePatrole Czystości 2009 – 2010 podsumowanie
Patrole Czystości 2009 – 2010 podsumowanie
 
Gotowość szkolna
Gotowość szkolnaGotowość szkolna
Gotowość szkolna
 
Projekt Leonardo - Włochy (II grupa)
Projekt Leonardo - Włochy (II grupa)Projekt Leonardo - Włochy (II grupa)
Projekt Leonardo - Włochy (II grupa)
 
Contium ZarząDzanie Dokumentami W Enterprise2 0
Contium ZarząDzanie Dokumentami W Enterprise2 0Contium ZarząDzanie Dokumentami W Enterprise2 0
Contium ZarząDzanie Dokumentami W Enterprise2 0
 
Giao an tieng anh 11 chuan
Giao an tieng anh 11 chuanGiao an tieng anh 11 chuan
Giao an tieng anh 11 chuan
 
Nowe Finansowo.pl dla Pożyczkobiorców
Nowe Finansowo.pl dla PożyczkobiorcówNowe Finansowo.pl dla Pożyczkobiorców
Nowe Finansowo.pl dla Pożyczkobiorców
 
Hiszpania pod panowanie arabów
Hiszpania pod panowanie arabówHiszpania pod panowanie arabów
Hiszpania pod panowanie arabów
 
Managementul
ManagementulManagementul
Managementul
 
TROPletter - luty 2014 - Stop-klatka, czyli jak łapać dystans
TROPletter - luty 2014 - Stop-klatka, czyli jak łapać dystansTROPletter - luty 2014 - Stop-klatka, czyli jak łapać dystans
TROPletter - luty 2014 - Stop-klatka, czyli jak łapać dystans
 

Similar to ASP.Net basics

ASP.Net Core Services
ASP.Net Core ServicesASP.Net Core Services
ASP.Net Core ServicesVictor Haydin
 
Lec11 користувацькi елементи керування
Lec11 користувацькi елементи керуванняLec11 користувацькi елементи керування
Lec11 користувацькi елементи керуванняcit-cit
 
Aspnet core
Aspnet coreAspnet core
Aspnet coreeleksdev
 
Lec12 користувацькi елементи керування ed
Lec12 користувацькi елементи керування edLec12 користувацькi елементи керування ed
Lec12 користувацькi елементи керування edcit-cit
 
Lec10 11 ado-net
Lec10 11 ado-netLec10 11 ado-net
Lec10 11 ado-netcit-cit
 
WordPress meetup Kyiv - Starting theme
WordPress meetup Kyiv - Starting themeWordPress meetup Kyiv - Starting theme
WordPress meetup Kyiv - Starting themeTrilipuT
 
V24 com to_net
V24 com to_netV24 com to_net
V24 com to_netRingonoki
 
5 Підсистема введення/виведення. OPC
5 Підсистема введення/виведення. OPC5 Підсистема введення/виведення. OPC
5 Підсистема введення/виведення. OPCПупена Александр
 
12 - gradle. evoliutsiia system avtomatychnoi zbirky - sviatoslav babych - it...
12 - gradle. evoliutsiia system avtomatychnoi zbirky - sviatoslav babych - it...12 - gradle. evoliutsiia system avtomatychnoi zbirky - sviatoslav babych - it...
12 - gradle. evoliutsiia system avtomatychnoi zbirky - sviatoslav babych - it...Igor Bronovskyy
 
System programing module 2
System programing module 2System programing module 2
System programing module 2Andrii Hladkyi
 
Module_01.pdf (Модуль 1. Вступ до вебтехнологій. Структура HTML. Форматуванн...
Module_01.pdf (Модуль 1. Вступ до вебтехнологій. Структура HTML.  Форматуванн...Module_01.pdf (Модуль 1. Вступ до вебтехнологій. Структура HTML.  Форматуванн...
Module_01.pdf (Модуль 1. Вступ до вебтехнологій. Структура HTML. Форматуванн...lisovvolod
 
QA Fest 2016. Яна Кокряшкіна. Паралельний запуск автоматизованих тестів за до...
QA Fest 2016. Яна Кокряшкіна. Паралельний запуск автоматизованих тестів за до...QA Fest 2016. Яна Кокряшкіна. Паралельний запуск автоматизованих тестів за до...
QA Fest 2016. Яна Кокряшкіна. Паралельний запуск автоматизованих тестів за до...QAFest
 
System programing module 1
System programing module 1System programing module 1
System programing module 1Andrii Hladkyi
 

Similar to ASP.Net basics (20)

ASP.Net Core Services
ASP.Net Core ServicesASP.Net Core Services
ASP.Net Core Services
 
Lec11 користувацькi елементи керування
Lec11 користувацькi елементи керуванняLec11 користувацькi елементи керування
Lec11 користувацькi елементи керування
 
Aspnet core
Aspnet coreAspnet core
Aspnet core
 
Lec12 користувацькi елементи керування ed
Lec12 користувацькi елементи керування edLec12 користувацькi елементи керування ed
Lec12 користувацькi елементи керування ed
 
Lec10 11 ado-net
Lec10 11 ado-netLec10 11 ado-net
Lec10 11 ado-net
 
вашенюк
вашенюквашенюк
вашенюк
 
WordPress meetup Kyiv - Starting theme
WordPress meetup Kyiv - Starting themeWordPress meetup Kyiv - Starting theme
WordPress meetup Kyiv - Starting theme
 
Dbase
DbaseDbase
Dbase
 
V24 com to_net
V24 com to_netV24 com to_net
V24 com to_net
 
5 Підсистема введення/виведення. OPC
5 Підсистема введення/виведення. OPC5 Підсистема введення/виведення. OPC
5 Підсистема введення/виведення. OPC
 
Html5 - ready yet?(ukr)
Html5 - ready yet?(ukr)Html5 - ready yet?(ukr)
Html5 - ready yet?(ukr)
 
Wcf module 2
Wcf module 2Wcf module 2
Wcf module 2
 
12 - gradle. evoliutsiia system avtomatychnoi zbirky - sviatoslav babych - it...
12 - gradle. evoliutsiia system avtomatychnoi zbirky - sviatoslav babych - it...12 - gradle. evoliutsiia system avtomatychnoi zbirky - sviatoslav babych - it...
12 - gradle. evoliutsiia system avtomatychnoi zbirky - sviatoslav babych - it...
 
System programing module 2
System programing module 2System programing module 2
System programing module 2
 
Module_01.pdf (Модуль 1. Вступ до вебтехнологій. Структура HTML. Форматуванн...
Module_01.pdf (Модуль 1. Вступ до вебтехнологій. Структура HTML.  Форматуванн...Module_01.pdf (Модуль 1. Вступ до вебтехнологій. Структура HTML.  Форматуванн...
Module_01.pdf (Модуль 1. Вступ до вебтехнологій. Структура HTML. Форматуванн...
 
Wcf module 3.1
Wcf module 3.1Wcf module 3.1
Wcf module 3.1
 
QA Fest 2016. Яна Кокряшкіна. Паралельний запуск автоматизованих тестів за до...
QA Fest 2016. Яна Кокряшкіна. Паралельний запуск автоматизованих тестів за до...QA Fest 2016. Яна Кокряшкіна. Паралельний запуск автоматизованих тестів за до...
QA Fest 2016. Яна Кокряшкіна. Паралельний запуск автоматизованих тестів за до...
 
Flex 4 чи Html 5
Flex 4 чи Html 5Flex 4 чи Html 5
Flex 4 чи Html 5
 
System programing module 1
System programing module 1System programing module 1
System programing module 1
 
Crawler.pptx
Crawler.pptxCrawler.pptx
Crawler.pptx
 

More from Victor Matyushevskyy

More from Victor Matyushevskyy (19)

Design patterns part 2
Design patterns part 2Design patterns part 2
Design patterns part 2
 
Design patterns part 1
Design patterns part 1Design patterns part 1
Design patterns part 1
 
Multithreading and parallelism
Multithreading and parallelismMultithreading and parallelism
Multithreading and parallelism
 
Mobile applications development
Mobile applications developmentMobile applications development
Mobile applications development
 
Service oriented programming
Service oriented programmingService oriented programming
Service oriented programming
 
Java script + extjs
Java script + extjsJava script + extjs
Java script + extjs
 
Automated testing
Automated testingAutomated testing
Automated testing
 
Основи Баз даних та MS SQL Server
Основи Баз даних та MS SQL ServerОснови Баз даних та MS SQL Server
Основи Баз даних та MS SQL Server
 
Usability
UsabilityUsability
Usability
 
Windows forms
Windows formsWindows forms
Windows forms
 
Practices
PracticesPractices
Practices
 
06.1 .Net memory management
06.1 .Net memory management06.1 .Net memory management
06.1 .Net memory management
 
06 LINQ
06 LINQ06 LINQ
06 LINQ
 
05 functional programming
05 functional programming05 functional programming
05 functional programming
 
04 standard class library c#
04 standard class library c#04 standard class library c#
04 standard class library c#
 
#3 Об'єктно орієнтоване програмування (ч. 2)
#3 Об'єктно орієнтоване програмування (ч. 2)#3 Об'єктно орієнтоване програмування (ч. 2)
#3 Об'єктно орієнтоване програмування (ч. 2)
 
#2 Об'єктно орієнтоване програмування (ч. 1)
#2 Об'єктно орієнтоване програмування (ч. 1)#2 Об'єктно орієнтоване програмування (ч. 1)
#2 Об'єктно орієнтоване програмування (ч. 1)
 
#1 C# basics
#1 C# basics#1 C# basics
#1 C# basics
 
#0 Вступна лекція
#0 Вступна лекція#0 Вступна лекція
#0 Вступна лекція
 

ASP.Net basics

  • 2. Що таке веб програмування • Це так як десктоп, але веб. • Важливо розуміти різницю між серверною частиною та клієнтською.
  • 3. Що таке веб сервер • IIS • Apache • …
  • 5. Http protocol Hypertext Transfer Protocol: Request types: – GET (дані передаються у адресі) – POST (дані передаються у тілі запиту)
  • 6. HTML <!doctype HTML public "- //W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title>Hello world</title> </head> <body> Hello world! </body> </html>
  • 7. CSS Каскадні таблиці стилів – спеціальна мова налаштування зовнішнього вигляду HTML елементів. p { font-family: Verdana, sans-serif; } h2 { font-size: 110%; color: red; background: white; } .note { color: red; background: yellow; font-weight: bold; } #paragraph1 { margin: 0; } a:hover { text-decoration: none; }
  • 8. CSS селектори Селектори: # - доступ до елементу за ІД . – іменований стиль <tag name> - доступ до всіх елементів даного типу <tag name>:<псевдоклас> - доступ до елементу з певною властивістю
  • 9. JavaScript Мова для керування виконанням клієнтських сценаріїв.
  • 10. IIS Веб сервер на якому можна розміщувати ASP.NET веб сайти та інші. Має вбудовані можливості: - Аутентифікації - Кешування - Стиснення контенту - Перенаправлення запитів - Балансування нагрузок між серверами - WebFarms - Управління пулом аплікацій
  • 11. Що таке ASP.NET ASP.NET – технологія для створення веб сайтіввеб сервісів від компанії Microsoft. Майкрософт прагнули зробити програмування під веб максимально подібним до програмування під віндовс. Код може компілюватися при першому зверненні до сайту.
  • 12. ASP.NET Page Складається з коду розмітки, та code-behind класу – обробнику. Файл розмітки містить HTML + asp:<controlName> <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApplication1.WebForm1" %> <!DOCTYPE html PUBLIC "- //W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml 1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> </head> <body> <form id="form1" runat="server"> <div> <asp:Label ID="lblHello" Text="Hello" runat="server" /> </div> </form> </body> </html>
  • 13. ASP.NET Page Складається з коду розмітки, та code-behind класу – обробнику. Code-behind клас містить обробник всіх подій сторінки. Написаний на C# namespace WebApplication1 { public partial class WebForm1 : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } } }
  • 14. ASP.NET Controls Елементи управління дуже подібні до Windows forms: <asp:Label… <asp:Button …. Кожному asp.net елементу обов’язково вказувати наступні поля: - ID – назва елементу (аналог Name у WF) - runat=“server” – це означає що це серверний контрол
  • 15. Що таке MasterPage MasterPage – це «шаблон» сторінки, використовуючи його ми можемо позбутися дублювання код і верстки для різних сторінок.
  • 16. Застереження Не використовуйте private fields на сторінках для зберігання інформації між запитами до сторінки.
  • 17. Що таке ViewState ViewState – це KeyValue колекція яка при кожному запиті до сторінки передається між клієнтом та сервером. Використовується для зберігання проміжних данних. Дані зберігаються закодовані у hidden полі __VIEWSTATE. Дуже часто для підвищення продуктивності відключаються це поле.
  • 18. Що таке Session Session – це KeyValue колекція яка зберігається на сервері для кожного користувача окремо. Можемо зберігати проміжну інформацію. Більш захищене сховище а ніж ViewState. Якщо у вас є ймовірність того що сайт буде у так званій WebFarm то Session або не використовують або передають управління сесіями SQL серверу. Таймаут сесії за замовчуванням 30 хвилин.
  • 19. ASP.Net Page LifeCycle PreInit – створюються або перестворюються динамічні контроли, встановлюється динамічно мастер пейдж, та тема. Init – викликається після того як всі контроли створені і мастер пейдж встановлений. Тут ви можете до-ініціалізовувати контроли. InitComplete – викликається в кінці ініціалізації сторінки. Можна використовувати для внесення змін у ViewState. Load – тут викликається метод OnLoad сторінки. Тут ви можете змінювати контроли, встановлювати з’єднання з базою данних і т.д. ControlEvents – оброблення подій викликаних контролами (Click, TextChanged …) Render – це не подія, це завершальний крок відображення сторінки. Unload – викликається для всіх контролів і тоді для сторінки. Використовують для очищення.
  • 20. Що таке PostBack PostBack – це назва процесу відправлення сторінки для обробки на сервер. PostBack – є аналогом form submit. Перевірити чи дана загрузка сторінки є PostBack – мона за допомогою IsPostBack властивості сторінки. Якщо у вас є наприклад DropDownList і ви хочете щоб після вибору значення автоматично відсилалося на сервер – просто поставте AutoPostBack = true
  • 21. Web Application Усі static об’єкти є спільними для всіх користувачів. Ініціалізуються static об‘єкти при старті аплікації на веб сервері. Знищуються – при зупинці роботи. Всі можливі маніпуляції з веб сайтом у цілому можна здійснювати за допомогою подій, а підписуватися на них можна у файлі Global.asax
  • 23. Робота з HttpContext Клас для роботи з запитом від користувача: HttpContext.Current.Request HttpContext.Current.Request.QueryString – робота з GET параметрами HttpContext.Current.Request.InputStream – робота з тілом POST HttpContext.Current.Request.Headers – заголовки запиту Клас для роботи з відповіддю до користувача: HttpContext.Current.Response HttpContext.Current.Response.Redirect(url); - перенаправлення сторінки HttpContext.Current.Response.TransmitFile(fileName); - передача файлу на клієнт
  • 24. Робота з HttpServerUtility Page.Server – об’єкт сторінки, для полегшення роботи з даними на сервері. Server.Transfer(url) – аналогічно до редірект, тільки УРЛ залишається не змінним. Server.HtmlEncode(string) – кодування HTML стрічки. (позбавлення спец символів для HTML) Server.HtmlDecode(string) – розкодування HTML стрічки.
  • 25. Що таке web.config Web.config це конфігураційний файл веб аплікації. Кожний рівень в ІІС має свій конфігураційний файл. Конфігураційні файли мають ієрархічну структуру, та ті що лежать нижче – перекривають верхні. Конфігураційний файл містить секції: - ConnectionStrings - AppSettings - Authentication - ...