@ Page

Определяет особые атрибуты для страницы (файла ASPX), используемые анализатором и компилятором страниц ASP.NET.

<%@ Page attribute="value" [attribute="value"...] %>

Атрибуты

  • Async
    Преобразует страницу в асинхронный обработчик (то есть определяет на странице использование реализации IHttpAsyncHandler для обработки запросов).

    Значение по умолчанию — false.

  • AsyncTimeOut
    Определяет интервал времени ожидания (в секундах) при обработке асинхронных задач. По умолчанию используется значение 45 секунд.

    Значением должно быть целое число.

    Дополнительные сведения см. в описании свойства AsyncTimeout.

  • AspCompat
    Если выбрано значение true, то страница может выполняться в режиме однопотокового подразделения (STA). Это позволяет странице вызывать компоненты в однопотоковых подразделениях, например компонент, разработанный с помощью Microsoft Visual Basic 6.0. Если свойству задано значение true, страница также может вызывать компоненты COM+ 1.0, которым требуется доступ к неуправляемым встроенным объектам ASP. Это можно осуществить с помощью объекта ObjectContext или метода OnStartPage. Значение по умолчанию — false.

    ПримечаниеПримечание

    Значение true данного атрибута может вызвать снижение производительности работы со страницей.Дополнительные сведения см. в разделе "Замечания".

  • AutoEventWireup
    Указывает, будут ли события страницы автоматически связываться друг с другом. true, если включена автоматическая запись события; в противном случае false. Значение по умолчанию — true. Дополнительные сведения см. в разделе Модель событий серверного веб-элемента управления ASP.NET.

  • Buffer
    Определяет, включена ли буферизация ответных сообщений HTTP. true, если буферизация страницы разрешена; в противном случае — false.

    Значение по умолчанию — true.

  • ClassName
    Строка, указывающая имя класса страницы, который будет динамически компилироваться при запросе этой страницы. Этим значением может быть любое действительное имя класса, включая полное имя класса. Если для данного атрибута значение не указано, имя класса для скомпилированной страницы создается на основе имени файла этой страницы при использовании пространства имен ASP. Если в значении атрибута ClassName не указано полное пространство имен, то для создания полного имени класса используется пространство имен ASP и указанное имя класса.

    Другая страница может ссылаться на имя класса, назначенное первой странице с помощью директивы @ Reference.

    ПримечаниеПримечание

    В классе с выделенным кодом страницы можно ссылаться на члены класса связанной страницы ASPX при помощи полного имени класса для страницы ASPX.Однако при включении защиты исходного кода во время предварительной компиляции класс с выделенным кодом страницы будет находиться в сборке, отличной от той, в которой находится класс страницы ASPX.Поэтому ссылка на класс в файле с выделенным кодом не будет работать.Дополнительные сведения о предварительной компиляции см. в разделе Общие сведения о предварительной компиляции в ASP.NET.

  • ClientIDMode
    Задает алгоритм, используемый для формирования значений ClientID для элементов управления. Значение по умолчанию — Predictable. По умолчанию для элементов управления установлено значение Inherit. Соответственно, алгоритм по умолчанию для элементов управления на странице определяется параметром страницы ClientID. Другое значение по умолчанию можно задать в элементе pages файла Web.config. Дополнительные сведения об алгоритмах см. в описании класса ClientIDMode.

  • ClientTarget
    Указывает конечный агент пользователя (обычно веб-обозреватель, например, Microsoft Internet Explorer), для которого в серверных элементах управления ASP.NET будет отображаться содержимое. В качестве значения может использоваться любой допустимый псевдоним, определенный в разделе <clientTarget> файла конфигурации приложения. Дополнительные сведения см. в описании свойства ClientTarget.

  • CodeBehind
    Задает имя скомпилированного файла, содержащего связанный со страницей класс. Этот атрибут не используется во время выполнения.

    Этот атрибут используется для проектов веб-приложений. Атрибут CodeFile используется для проектов веб-сайтов. Дополнительные сведения о типах веб-проектов в Visual Studio см. в разделе Сравнение проектов веб-приложений с проектами веб-сайтов.

  • CodeFile
    Задает путь к файлу с выделенным кодом страницы. Этот атрибут используется вместе с атрибутом Inherits для связи исходного файла с выделенным кодом с веб-страницей. Атрибут допустим только для скомпилированных страниц.

    Этот атрибут используется для проектов веб-сайтов. Атрибут CodeBehind используется для проектов веб-приложений. Дополнительные сведения о типах веб-проектов в Visual Studio см. в разделе Сравнение проектов веб-приложений с проектами веб-сайтов.

  • CodeFileBaseClass
    Задает имя типа базового класса для страницы и связанного с ним класса с выделенным кодом. Этот атрибут является необязательным, однако если он используется, то также должен присутствовать атрибут CodeFile. Данный атрибут используется при реализации общего сценария, в котором в базовом классе определяются общие поля (а также связанные события) для ссылки на элементы управления, объявленные на веб-странице. В связи с особенностями модели создания кода ASP.NET при определении полей в базовом классе без использования данного атрибута во время компиляции будут созданы новые определения членов для элементов управления, объявленных на веб-странице (в заглушке отдельного разделяемого класса), и требуемый сценарий не будет работать. Однако если атрибут CodeFileBaseClass используется для связи базового класса со страницей, а разделяемый класс (его имя назначается атрибуту Inherits и на его исходный файл ссылается атрибут CodeFile) наследуется от базового класса, то после создания кода в полях базового класса могут находиться ссылки на элементы управления на странице.

  • CodePage
    Указывает значение схемы кодирования, используемой для ответов. Значение представляет собой целое число, которое используется в качестве идентификатора схемы кодирования. Список допустимых идентификаторов CodePage см. в описании класса Encoding.

  • CompilationMode
    Указывает, должна ли для компиляции страницы использоваться строка, в которой определяется один из нескольких перечисленных параметров. По умолчанию используется значение Always, поэтому по умолчанию выполняется компиляция страниц ASPX. Дополнительные сведения см. в описании перечисления CompilationMode.

  • CompilerOptions
    Строка, содержащая параметры компилятора, используемые для компиляции страницы. Для C# и Visual Basic эта строка представляет собой последовательность переключателей командной строки компилятора. Дополнительные сведения о параметрах компилятора см. в разделе Параметры компилятора C# или Компилятор Visual Basic.

  • ContentType
    Определяет тип HTTP-содержимого ответа как стандартный тип MIME. Поддерживается любая строка, содержащая допустимый тип HTTP-содержимого. Список возможных значений можно получить, выполнив поиск слова MIME в библиотеке MSDN.

  • Culture
    Определяет язык и региональные параметры страницы. Значением этого атрибута должен быть допустимый идентификатор языка и региональных параметров. Обратите внимание, что атрибуты LCID и Culture являются взаимоисключающими. При использовании одного из них использовать второй атрибут на той же странице нельзя Дополнительные сведения см. в описаниях свойства Culture и класса CultureInfo.

  • Debug
    Указывает, должна ли страница компилироваться с помощью символов отладки. Если для компиляции страницы должны использоваться символы отладки, следует задать значение true; в противном случае — значение false. Поскольку данный параметр влияет на производительность, во время разработки данный атрибут должен иметь значение true.

  • Description
    Предоставляет текстовое описание страницы. Это значение не обрабатывается анализатором ASP.NET.

  • EnableEventValidation
    Включает проверку событий в сценариях обратной передачи и обратного вызова. Значение true, если события проверяются; в противном случае — значение false. Значение по умолчанию — true.

    Проверка событий страницы снижает вероятность неавторизованных обратных запросов и обратных вызовов. Если свойство enableEventValidation имеет значение true, то ASP.NET разрешает только события, которые могут вызываться элементом управления при обратном запросе или обратном вызове. В этой модели события элемента управления регистрируются при его отрисовке, а затем проверяются при обработке обратной передачи или обратных вызовов. По умолчанию эта функция действует для всех элементов управления на основе событий в ASP.NET.

    Настоятельно рекомендуется не отключать проверку событий. Перед отключением проверки событий следует убедиться в невозможности создания обратной передачи, способной оказать нежелательное воздействие на работу приложения.

  • EnableSessionState
    Определяет требования к состоянию сеанса для страницы. true, если состояние сеанса включено; ReadOnly, если состояние сеанса можно читать, но не изменять; в противном случае false. Значение по умолчанию — true. В этих значениях не учитывается регистр символов. Дополнительные сведения см. в разделе Общие сведения о состоянии сеанса ASP.NET.

  • EnableTheming
    Указывает, используются ли темы на странице. true, если темы используются, в противном случае – false. Значение по умолчанию — true.

  • EnableViewState
    Указывает, сохраняется ли состояние отображения в запросах к страницам. Это значение равно true , если состояние просмотра сохраняется, или false, если состояние просмотра не сохраняется. Значение по умолчанию — true.

    Даже если это свойство имеет значение true, состояние представления не будет поддерживаться для элемента управления, если выполняется одно из следующих условий:

    • Свойство EnableViewState элемента управления имеет значение false.

    • Свойству ViewStateMode элемента управления присваивается значение Disabled, или элемент управления наследует значение Disabled.

    Дополнительные сведения о состоянии просмотра и состоянии элемента управления см. в описании свойства Control.EnableViewState.

  • EnableViewStateMac
    Указывает, что ASP.NET должен проверять коды проверки подлинности сообщений (MAC) в состоянии просмотра страницы, когда выполняется обратная отправка страницы от клиента. true, если состояние просмотра должно быть проверено MAC; в противном случае false. Значение по умолчанию — true.

    Код проверки подлинности для состояния просмотра является зашифрованным вариантом скрытой переменной, в которой сохраняется это состояние при отправке в обозреватель. MAC используется для проверки, что состояние просмотра неизменно на стороне клиента.

    Примечание о безопасностиПримечание по безопасности

    На веб-сайте продуктивной среды для этого атрибута никогда не следует задавать значение false.

  • ErrorPage
    Определяет конечный URL-адрес, используемый для перенаправления в случае возникновения на странице необработанных исключений. Дополнительные сведения см. в описании свойства ErrorPage.

  • Explicit
    Определяет, компилируется ли страница в режиме Visual Basic Option Explicit. Значение true указывает, что включен параметр Visual Basic explicit и что все переменные должны объявляться с помощью инструкций Dim, Private, Public и ReDim; в противном случае — значение false. Значение по умолчанию — false.

    ПримечаниеПримечание

    Этот атрибут не обрабатывается для языков, отличных от Visual Basic.Кроме того, для этого параметра устанавливается значение true в файле конфигурации Machine.config.Дополнительные сведения см. в разделе Файлы конфигурации ASP.NET.

  • Inherits
    Определяет наследуемый страницей класс с выделенным кодом. Им может быть любой класс, производный от класса Page. Данный атрибут используется с атрибутом CodeFile, содержащим путь к исходному файлу класса с выделенным кодом. В атрибуте Inherits регистр учитывается при использовании на странице языка C#, и не учитывается при использовании языка Visual Basic.

    Если атрибут Inherits не содержит пространство имен, ASP.NET проверяет, содержится ли пространство имен в атрибуте ClassName. Если содержится, то ASP.NET пытается загрузить класс, на который ссылается атрибут Inherits, с помощью пространства имен атрибута ClassName. (Предполагается, что атрибуты Inherits и ClassName используют одинаковые пространства имен.

    Дополнительные сведения о классах кода программной части см. в разделе Модель кода веб-страниц ASP.NET.

  • Language
    Задает язык, используемый при компиляции всех находящихся внутри страницы встроенных блоков выполнения (<% %> и <%= %>) и объявлений кода. Значение может быть любым поддерживаемым .NET Framework языком, включая Visual Basic, C# или JScript. Для каждой страницы может задаваться и использоваться только один язык.

  • LCID
    Определяет код языка для страницы Web Forms.

    ПримечаниеПримечание

    Код языка представляет собой 32-разрядное значение, однозначно определяющее языковой стандарт.Если в данном атрибуте не указано иное значение для страницы Web Forms, то в ASP.NET будет использоваться языковой стандарт веб-сервера по умолчанию.Обратите внимание, что атрибуты LCID и Culture являются взаимоисключающими. При использовании одного из них использовать второй атрибут на той же странице нельзяДополнительные сведения о языковых стандартах можно получить, выполнив поиск в библиотеке MSDN.

  • LinePragmas
    Определяет, должна ли среда выполнения создавать прагмы в исходном коде. Эти параметры компилятора часто используются средствами отладки для отметки определенных мест в исходном файле. true, если следует создавать строковые прагмы; в противном случае false.

  • MaintainScrollPositionOnPostback
    Указывает, возвращается ли пользователь на прежнюю позицию в браузере после обратной передачи. true, если пользователи должны быть возвращены в то же положение; в противном случае false. Значение по умолчанию — false.

    ПримечаниеПримечание

    Разработчики могут задать этот атрибут для всех страниц, установив атрибут maintainScrollPostitionOnPostback (обратите внимание, что в файлах конфигурации для этого атрибута учитывается регистр) для элемента <pages> в файле Web.config.

  • MasterPageFile
    Задает путь к главной странице для страницы содержимого или вложенной главной страницы. Поддерживаются как относительные, так и абсолютные пути. Дополнительные сведения см. в описании свойства MasterPageFile.

  • MetaDescription
    Задает свойство MetaDescription. Если в разметке страницы также имеется элемент meta "описания", то значение в директиве @ Page переопределяет значение в разметке.

  • MetaKeywords
    Задает свойство MetaKeywords. Если в разметке страницы также имеется элемент meta "ключевых слов", то значение в директиве @ Page переопределяет значение в разметке.

  • ResponseEncoding
    Указывает имя схемы кодирования, используемой для HTTP-ответа, содержащего содержимое страницы. Значение, присвоенное этому атрибуту, является допустимым именем кодировки. список допустимых имен кодировок см. в описании класса Encoding. Список возможных имен кодировок и их идентификаторов можно вызвать с помощью метода GetEncodings.

  • SmartNavigation
    Указывает, поддерживает ли страница функциональную возможность улучшенных переходов Internet Explorer 5.5 или более поздней версии. true, если включен режим улучшенных переходов; в противном случае — false. Значение по умолчанию — false.

    В ASP.NET версии 2.0 и последующих версиях свойство SmartNavigation является устаревшим. Вместо этого воспользуйтесь методам SetFocus и свойством MaintainScrollPositionOnPostback().

  • Src
    Задает путь к исходному файлу, содержащему связанный со страницей код. В связанном исходном файле использовать программный код для страницы можно как в классе, так и в блоках объявлений кода.

    Атрибут Src используется для связи поставщиков построений со страницей. Дополнительные сведения см. в описании класса BuildProvider. В версиях ASP.NET, предшествовавших версии 2.0, атрибут Src применялся в качестве альтернативного способа связи файла с выделенным кодом со страницей. В ASP.NET версии 2.0 рекомендуемым способом связи исходного файла с выделенным кодом со страницей является использование атрибута Inherits для указания класса вместе с атрибутом CodeFile для задания пути к исходному файлу для класса.

  • Strict
    Указывает, что страница должна компилироваться с помощью режима Option Strict Visual Basic. true, если Option Strict включен, в противном случае — false. Значение по умолчанию — false.

    ПримечаниеПримечание

    Этот атрибут не обрабатывается для языков, отличных от Visual Basic.

  • StyleSheetTheme
    Указывает допустимый идентификатор темы для использования на странице. Если атрибут StyleSheetTheme установлен, отдельные элементы управления могут переопределять параметры стиля, содержащиеся в теме. Таким образом, тема может задавать общий вид страницы, в то время как параметры, содержащиеся в атрибуте StyleSheetTheme, позволяют настроить конкретные параметры страницы и элементы управления для них

  • TargetSchema
    Задает имя схемы, которая служит для проверки содержимого на странице. Она используется только в описательных целях. В действительности проверка не производится и анализатор не обрабатывает атрибут.

  • Theme
    Указывает допустимый идентификатор темы для использования на странице. Если атрибут Theme задается без указания атрибута StyleSheetTheme, то он переопределяет отдельные параметры стиля элементов управления, позволяя создать единый вид страницы. Дополнительные сведения см. в описании свойства Theme.

  • Title
    Указывает заголовок страницы, который отображается внутри HTML-тегов <title> в ответе. С заголовком можно работать программными средствами как к свойству страницы. Дополнительные сведения см. в свойстве Title.

  • Trace
    Указывает, включена ли трассировка. Значение true, если трассировка включена; в противном случае — значение false. Значение по умолчанию — false. Дополнительные сведения см. в разделе Общие сведения о трассировке ASP.NET и в описании свойства Trace.

  • TraceMode
    При включенной трассировке указывает способ отображения сообщений для страницы. Допустимые значения: SortByTime и SortByCategory. Когда трассировка включена, значением по умолчанию является SortByTime. Дополнительные сведения о трассировке см. в разделе Общие сведения о трассировке ASP.NET.

  • Transaction
    Указывает, поддерживаются ли транзакции COM+ для данной страницы. Допустимые значения: Disabled, NotSupported, Supported, Required и RequiresNew. По умолчанию используется значение Disabled.

  • UICulture
    Задает используемые для данной страницы языковые и региональные параметры интерфейса пользователя. Поддерживаются любые разрешенные значения языковых и региональных параметров интерфейса пользователя. Дополнительные сведения см. в описании свойства UICulture.

  • ValidateRequest
    Указывает, должна ли выполняться проверка запросов. При значении true все входные данные проверяются на соответствие с жестко заданным списком потенциально опасных значений. Если найдено соответствие, вызывается исключение HttpRequestValidationException. Значение по умолчанию — true.

    Эта функция включается в файле конфигурации компьютера (Machine.config). Ее можно отключить в файле конфигурации приложения (Web.config) или на странице, установив значение false для данного атрибута.

    ПримечаниеПримечание

    Данная функция позволяет уменьшить риск межузловых скриптовых атак для страниц, запрашиваемых напрямую, и приложений ASP.NET.Приложение, не проверяющее вводимые пользователем данные должным образом, уязвимо для различных типов атак, связанных с вводом неправильных данных, включая межузловые скриптовые атаки и атаки путем внедрения кода SQL.Здесь возможно только аккуратно анализировать все входные данные в приложении и гарантировать их должную проверку и кодирование, либо обеспечивать выход из приложения перед обработкой данных или их отправкой клиенту.

  • ViewStateEncryptionMode
    Определяет способ шифрования состояния просмотра с помощью трех значений: Auto, Always или Never. По умолчанию используется значение Auto, означающее, что шифрование состояния просмотра будет выполняться по запросу отдельных элементов управления. Дополнительные сведения см. в разделе ViewStateEncryptionMode.

  • ViewStateMode
    Задает значение свойства ViewStateMode , которое вступит в силу для элемента управления, если свойство ViewStateMode элемента управления равно Inherit. Значение ViewStateMode по умолчанию для страницы равно Enabled.

    Свойства ViewStateMode и EnableViewState определяют, сохраняется ли состояние представления для элементов управления на странице. Дополнительные сведения см. в описаниях свойств EnableViewState и ViewStateMode.

  • WarningLevel
    Указывает уровень предупреждений компилятора, при котором он будет рассматривать предупреждения как ошибки, прерывая, таким образом, компиляцию страницы. Возможные пороги предупреждений — от 0 до 4. Дополнительные сведения см. в описании свойства WarningLevel.

Заметки

Эта директива может использоваться только на страницах Web Forms. В файле ASPX может содержаться только одна директива @ Page. Также для директивы @ Page можно определять только один атрибут Language, поскольку на одной странице может использоваться только один язык. Поскольку для большинства атрибутов предоставляются наиболее часто используемые значения по умолчанию (либо в исходном коде, либо в файлах конфигурации), часто добавлять большой набор атрибутов в директиву оказывается необязательно. Как правило, чтобы задать необходимые функции для страницы, необходимо добавить минимальный набор атрибутов. Если какой-либо атрибут необходимо применить для всех страниц, например, включить трассировку на всех страницах, проще это сделать, включив соответствующую возможность в файле Web.config, чем добавлять атрибут Trace для каждой страницы.

ПримечаниеПримечание

Директива @ Page имеет ряд атрибутов, общих с другими директивами, которые применяются ко всему исходному файлу, таких как директива @ Control (используется в файлах ASCX для пользовательских элементов управления) и директива @ Master (используется в файлах MASTER для главных страниц).

Чтобы определить несколько атрибутов для директивы @ Page, каждую пару атрибут/значение следует разделить одиночным пробелом. При определении конкретного атрибута не следует использовать пробел с какой-либо стороны знака равенства (=), связывающего атрибут с его значением. Пример см. в разделе "Пример".

Режим улучшенных переходов — это функция ASP.NET, используемая в обозревателе Internet Explorer 5.5 и более поздних версиях. Данный режим позволяет выполнять обновление страницы с сохранением положения прокрутки и фокуса элемента при переходах. В результате в журнале обозревателя сохраняется только одна страница и отсутствует "мерцание", связанное с обновлением веб-страницы. Режим улучшенных переходов лучше всего подходит для страниц ASP.NET, которые подразумевают частые обратные передачи, но содержат незначительно изменяющееся при возврате визуальное содержимое. Следует внимательно рассмотреть эти соображения при установке значения true данного атрибута.

Если атрибут AspCompat для страницы имеет значение true, то при использовании конструктора для создания COM-компонента перед планированием запроса, он будет выполняться в потоке многопотокового подразделения (MTA). Это вызывает сильное снижение производительности веб-сервера. Чтобы избежать этого, необходимо создавать COM-компоненты только в одном из событий Page (например, Page_Load, Page_Init и др.) или в одном из методов Page. Кроме того, объекты не должны создаваться в момент построения страницы.

В следующем примере показывается рекомендуемый способ создания экземпляра COM-компонента на странице с включенным атрибутом AspCompat.

<%@ Page AspCompat="true" language="C#" %>
<script runat="server" >

MyComObject comObj;

public void Page_Load(){
   // Use comObj here when the code is running on the STA thread pool.
   comObj = New MyComObject();
   // Do something with the combObj object.
}
<%@ Page AspCompat="true" language="VB" %>
<script runat="server" >

    Dim comObj As MyComObject 

    Public Sub Page_Load()
     'Use comObj here when the code is running on the STA thread pool.
     comObj = New MyComObject()
     ' Do something with the combObj object.
    End Sub
</script>
ПримечаниеПримечание

Добавление директивы @ Master на главную страницу не допускает использование того же объявления директивы на страницах, зависящих от главной.Вместо этого для глобального определения директив страниц следует использовать элемент pages.

Пример

В следующем примере кода указывается, что компилятор страниц ASP.NET должен использовать Visual Basic в качестве языка кода страницы на стороне сервера, а для атрибута HTTP MIME ContentType, передаваемого клиенту, устанавливается значение "text/xml".

<%@ Page Language="VB" ContentType="text/xml" %>

См. также

Ссылки

Синтаксис директивы текстового шаблона

@ Control

@ Master

Другие ресурсы

Синтаксис страницы ASP.NET