русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Властивості сторінки


Дата додавання: 2014-11-27; переглядів: 975.


Клас System.Web.UI.Page інкапсулює функціональність, необхідну для створення та обробки сторінок ASP.NET.

Кожна сторінка ASP.NET – це об’єкт класу, який автоматично генерується ядром ASP.NET. Клас наслідується від асоційованого зі сторінкою класу, якщо використовується відокремлений код, або прямо наслідується від System.Web.UI.Page, якщо код на C# вбудований у сторінку. Середовище також утворює конструктор за замовчуванням.

Наприклад, код для сторінки PageType.aspx

<div>
<% Response.Output.Write("Тип сторінки {0}",this.GetType()); %>
</div>
<div>
<% Response.Output.Write("Базовий тип {0}",this.GetType().BaseType); %>
</div>

видасть такий результат:

Тип сторінки ASP.pagetype_aspx Базовий тип System.Web.UI.Page

Така ж сторінка, утворена по технології розділення коду

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="PageType.aspx.cs" Inherits="PageType" %>

матиме результат

Тип сторінки ASP.pagetype_aspx Базовий тип PageType

Те, що PageType - нащадок System.Web.UI.Page, прописано у файлі відокремленого коду:

public partial class PageType : System.Web.UI.Page

До поточного об’єкту сторінки можно звертатися як до змінної Page. Page – це контейнер елементів управління даної сторінки, а тому містить у собі колекцію Controls. Якщо у тегі <head> наявний атрибут runat="server", то в Page буде і поле Header, через яке можна управляти заголовком сторінки. Наприклад, наступний код міняє заголовок сторінки та призначає файл каскадних таблиць стилів:

<script runat="server">
protected void Page_Init(object sender, EventArgs e)
{
HtmlLink myHtmlLink = new HtmlLink();
myHtmlLink.Href = "printable.css";
myHtmlLink.Attributes.Add("rel", "stylesheet");
myHtmlLink.Attributes.Add("type", "text/css");
Page.Header.Controls.Add(myHtmlLink);
Page.Header.Title = "Новий заголовок";
}
protected void Page_Load(object sender, System.EventArgs e)
{
Style bodyStyle = new Style();
bodyStyle.ForeColor = System.Drawing.Color.Blue;
bodyStyle.BackColor = System.Drawing.Color.Beige;
Page.Header.StyleSheet.CreateStyleRule(bodyStyle, null, "p");
}
</script>

У сторінки є дві важливі властивості - Response та Request.

Властивість Response має тип HttpResponse. Властивість Response сторінки можна сприймати як вихідний потік. Весь HTML код генерованої сторінки в принципі може бути виведений через запис в цей потік. Це був стандартний спосіб роботи програмістів asp. Але в ASP.NET є більш зручні засоби виводу даних з допомогою серверних елементів управління. Властивість Response краще використовувати для запису Cookies, для задання різноманітних параметрів заголовку і т.п.

Ось приклад утворення Cookies:

HttpCookie MyCookie = new HttpCookie("LastVisit");

DateTime now = DateTime.Now;

MyCookie.Value = now.ToString();

MyCookie.Expires = now.AddHours(1);

Response.Cookies.Add(MyCookie);

Можна поміняти кодову сторінку:

<head runat="server">

<%Response.Charset = "windows-1251"; %>

<title>Кирилиця</title>

</head>

Функція Response.Redirect перенаправляє браузер на іншу сторінку:

Response.Redirect("NavigationTarget.aspx?name=" +System.Web.HttpUtility.UrlEncode(Name.Text);

Тут формується командна стрічка з параметрами QueryString, яку цільова сторінка може прочитати.

Аналогічно, властивість Request - це запит, переданий на сервер для виводу потрібної сторінки. Властивість має тип HttpRequest. У цьому типі зберігається все про клієнта, включно з налаштуваннями його браузера, файли-cookie та дані, введені ним у форму. Наприклад,

NameLabel.Text = Server.HtmlEncode(Request.QueryString["Name"]);


<== попередня лекція | наступна лекція ==>
Директиви | Події сторінки


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн