![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Свойства страницы
Страница — это основа всего в web-приложении. Класс System.Web.UI.Page инкапсулирует функциональность, необходимую для создания и обработки страниц ASP.NET. Каждая страница ASP.NET — это объект класса, который автоматически генерируется ядром ASP.NET. Класс наследуется от ассоциированного со страницей класса, если мы используем отделенный код, или прямо наследуется от System.Web.UI.Page, если код на C# встроен в страницу. Среда также создает конструктор по умолчанию. Чтобы убедиться в этом, можем создать страницу " PageType.aspx": < %@ Page Language=" C#" %> < html xmlns=" https://www.w3.org/1999/xhtml" > < head runat=" server" > < title> Тип страницы< /title> < /head> < body> < div> < % Response.Output.Write(" Тип данной страницы {0}", this.GetType()); %> < /div> < div> < % Response.Output.Write(" Базовый тип данной страницы {0}", this.GetType().BaseType); %> < /div> < /body> < /html>Вот результат: Тип данной страницы — 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, через которое можно управлять заголовком страницы — например, поменять название страницы в заголовке браузера, назначить файл каскадных таблиц стилей: В этом примере мы поменяли текст заголовка. Запустите эту страницу. В получившемся HTML-коде внутри тега < title> стоит уже не " Hello ASP.NET", а " Новый заголовок", который был установлен через Page.Header.Title. Был создан стиль для тега < p>, что отразилось таким образом: < style type=" text/css" > p { color: Blue; background-color: Beige; }< /style>Внешняя страница CSS была импортирована из файла: < link href=" printable.css" rel=" stylesheet" type=" text/css" /> < style type=" text/css" >Если атрибут AutoEventWireup, который присутствует в заголовке страниц, генерируемых VS, установлен, то методы с префиксом Page_ автоматически назначаются обработчиками событий страницы. У страницы есть два важных свойства — Response и Request. Свойство Response имеет тип HttpResponse. Response страницы можно воспринимать как выходной поток. Весь HTML-код генерируемой страницы в принципе может быть выведен через запись в этот поток. Это был обычный способ работы разработчиков asp. Но в ASP.NET есть более удобные средства вывода данных с помощью серверных элементов управления. Response лучше использовать для записи Cookies, для задания различных параметров заголовка — управлять кэшированием, свойством Expires. Вот пример из MSDN: 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" ]);
|