Легкий путь к великим делам Иван Касатенко Хакер, номер #079, стр. 079-120-3 Каждый кусок HTML, который попадает к пользователю, генерируется либо напрямую копированием HTML-кода из ASPX-файла, либо в результате работы включенных в приложение компонентов. После выполнения веб-формы олицетворяющий ее объект уничтожается, то есть время жизни объекта начинается с момента запроса и заканчивается выполнением последней строчки кода. По ходу выполнения страница переживает ряд жизненных перипетий, каждая из которых сопровождается запуском соответствующего обработчика событий. Для разработчика, пожалуй, самое важное– это событие Page_Load, где можно поместить весь код инициализации данных перед началом обработки страницы. Такой обработчик очень легко встроить в код страницы, добавив: <script language="C#" runat="Server"> void Page_Load (Object sender, EventArgs e) { Debug.WriteLine(“Привет от ASP.NET!”); } </script> Это событие частенько применяется для инициализации элементов управления, чтения данных из БД и т.п. Поскольку веб-форма является производной от класса System.Web.UI.Page, ей доступны его свойства (Request, Response, Server, Application и Session), открывающие доступ к одноименным ресурсам. Помимо этого, System.Web.UI.Page имеет замечательное булево свойство — IsPostBack, которое определяет следующее: запрос исходит от нового клиента, впервые за сеанс посещающего твою страницу (IsPostBack == false), или от старого (IsPostBack == true). Например, следующий код выполнится один раз для одного клиента в одну сессию: <script language="C#" runat="Server"> void Page_Load (Object sender, EventArgs e) { if (!IsPostBack) { // Здесь идет запрос к базе данных } } </script> Странно и непонятно? Думаю, что проще всего во всем этом разобраться на конкретном примере, один раз, так сказать, потрогав. Да и, пожалуй, настало время все-таки написать что-нибудь на этом волшебном ASP.NET. [кодим веб-приложение] Для начала мы с тобой напишем простейшую программулину, которая будет суммировать два введенных пользователем числа. Это, безусловно, невероятно нужная вещь, именно то, чего так не хватало миру ;). А если серьезно, то надо же с чего-то начинать? Для начала накодим небольшую форму (думаю, тут твой опыт написания HTML’а как раз будет к месту!) и сохраним ее в файле test.aspx: <html><head><title>Добро пожаловать</title></head> <body> <h1>Суммируем</h1> <form> <p><i>Число 1: </i><input type=”text” id=”n1”></p> <p><i>Число 2: </i><input type=”text” id=”n2”></p> <p><input type=”submit” value=”Суммировать”></p> <p><i>Результат: </i><b>неопределен</b></p> </form> </body> </html> Тут ты определенно возразишь: «Где же в теге ‘form’ атрибут ‘target’? И где скрипт, который будет суммировать наши числа?» Спокойно! Все будет. |