Реалізуємо простий проект в середовищі Visual Studio. Виберемо пункт меню File-New-Website і у діалоговій формі визначимо мовою програмування C#. Задаємо ім’я проекту та зберігаємо у деякій папці. Всі файли, які розміщені в одній папці, вважаються єдиним проектом.
За умовчуванням проект утворюється у файловій системі. Його можна створити також і на HTTP або FTP-сервері.
В проекті буде утворена сторінка default.aspx. Цю сторінку можна переглянути через веб-браузер по адресі http://localhost:номерпорта/Website1/default.aspx. Вбудований сервер Cassini сам назначає собі номер порта - для кожного проекту він різний. Сервер IIS зазвичай працює через порт 80(або 8080, якщо 80-й занятий), і для нього номер порта задавати не потрібно.
Поки-що сторінка у бразері порожня. Але код цієї сторінки не порожній:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
</div>
</form>
</body>
</html>
Проаналізуємо цю сторінку.
<%@ Page Language="C#" %>. Тег <% завжди призначений для інтерпретації ASP-коду. Атрибут Language – це вказівка, що у скриптах сторінки буде використовуватися C#. CodeFile – ім’я файлу з відокремленим кодом (code-behind). Inherits - клас, визначений у цьому файлі, від якого наслідується клас сторінки.
Одночасно буде утворений і файл Default.aspx.cs. Це технологія відділення коду та форми. Сама форма знаходиться у файлі Default.aspx.
<form runat="server"> Цей тег дає вказівку компілятору обробляти елементи управління сторінки.
Додамо в Default.aspx між тегами <form> та </form> тег, який задає елемент управління:
<asp:Label id="Time" runat="server"
Text="Київський час: "
/>
Серверний елемент управлення Label є засобом розміщення на сторінці тексту, який може містити теги HTML. Далі задаються різні властивості елемента управління та текст.
У файлі Default.aspx.cs повинен міститися такий текст:
using System;
......
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{ ... }
}
Ключове слово partial дозволяє розбити текст означення класу між різними файлами.
System.Web.UI.Page - клас, базовий для всіх сторінок ASP.NET.
Додамо в тіло функції Page_Load стрічку
Time.Text= DateTime.Now.ToString();
Метод Now класу System.DateTime бібліотеки класів FCL (складової частини .NET Framework) повертає поточну системну дату і час сервера. Отримане значення присвоюється властивості Text об’єкта time. Отже, при завантаженні сторінки викликається функція Page_Load, і на сторінці виводиться поточний час.
Відкриємо вихідний текст сторінки у браузері. Ніякого коду на С# або елементів управління ASP.NET там не буде:
... <body>
<form name="form1" method="post" action="Default.aspx" id="form1">
<div>
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUJODExMDE5NzY5D2QWAgIDD2QWAgIBDw8
WAh4EVGV4dAUSMDguMDYuMjAwNiA0OjU2OjQ3ZGRkkEMgqXmKC0v9vwAwh999lefuIOw=" />
</div>
<div>
<span id="Time">Київський час: 08.11.2010 17:01:55</span>
</div>
</form>
</body>