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>:<псевдоклас> - доступ до елементу з певною властивістю
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 – це «шаблон» сторінки, використовуючи його ми можемо
позбутися дублювання код і верстки для різних сторінок.
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
- ...