Поделиться через


@ Page

Обновлен: Ноябрь 2007

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

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

Атрибуты

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

    По умолчанию используется значение false.

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

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

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

    ydy4x04a.alert_note(ru-ru,VS.90).gifПримечание.

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

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

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

    По умолчанию используется значение true.

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

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

    ydy4x04a.alert_note(ru-ru,VS.90).gifПримечание.

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

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

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

    ydy4x04a.alert_note(ru-ru,VS.90).gifПримечание.

    Этот атрибут включен для обеспечения совместимости с предыдущими версиями ASP.NET и используется для реализации функции с выделенным кодом. Чтобы задать имя исходного файла в ASP.NET версии 2.0, следует использовать атрибут CodeFile, а чтобы задать полное имя класса — атрибут Inherits.

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

  • 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 являются взаимоисключающими При использовании одного из них использовать второй атрибут на этой же странице нельзя Дополнительные сведения о возможных значениях параметров языка и региональных параметров см. в описании класса 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.

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

    ydy4x04a.alert_note(ru-ru,VS.90).gifПримечание.

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

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

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

    ydy4x04a.alert_note(ru-ru,VS.90).gifПримечание.

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

  • 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.

    ydy4x04a.alert_note(ru-ru,VS.90).gifПримечание.

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

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

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

    ydy4x04a.alert_note(ru-ru,VS.90).gifПримечание.

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

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

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

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

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

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

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

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

    ydy4x04a.alert_note(ru-ru,VS.90).gifПримечание.

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

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

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

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

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

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

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

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

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

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

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

    ydy4x04a.alert_note(ru-ru,VS.90).gifПримечание.

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

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

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

Заметки

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

ydy4x04a.alert_note(ru-ru,VS.90).gifПримечание.

Директива @ 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>
ydy4x04a.alert_note(ru-ru,VS.90).gifПримечание.

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

Пример

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

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

См. также

Ссылки

Синтаксис директив

@ Control

@ Master

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

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