Page Directive in ASP.Net
Asp.Net Page directives are something that is a part of every asp.net
pages. Page directives are instructions, inserted at the top of an
ASP.NET page, to control the behavior of the asp.net pages. So it is
type of mixed settings related to how a page should render and
<%@ Page attribute="value" [attribute="value"...] %>
@Page directive enables you to specify attributes and values for an
Asp.Net Page to be used when the page is parsed and compiled. Every
.aspx files should include this @Page directive to execute. There are
many attributes belong to this directive. We shall discuss some of the
important attributes here.
Makes the page an asynchronous handler (that is, it causes the page to use an implementation of IHttpAsyncHandler to process requests).
The default is false.
Defines the time-out interval (in seconds) used when processing asynchronous tasks. The default is 45 seconds.
The value must be an integer.
set to true, allows the page to be executed on a single-threaded
apartment (STA) thread. This allows the page to call STA components,
such as a component developed with Microsoft
Visual Basic 6.0. Setting this attribute to true also allows the page
to call COM+ version 1.0 components that require access to unmanaged
Active Server Pages (ASP)
built-in objects. These are accessible through the ObjectContext object
or the OnStartPage method. The default is false.
whether the page's events are autowired. true if event autowiring is
enabled; otherwise, false. The default is true. For more information,
see ASP.NET Web Server Control Event Model.
Determines whether HTTP response buffering is enabled. true if page buffering is enabled; otherwise, false.
The default is true.
A string that specifies the name of the page class that will be dynamically compiled when the page is requested. This value can be any valid class name and can include a fully qualified class name. If a value for this attribute is not specified, the class
name for the compiled page is based on the page's file name and uses
the default namespace ASP. If a value for the ClassName attribute is
specified without a full namespace, then the namespace ASP is used,
combined with the specified class name to create a fully qualified class name.
Another page can reference the class name assigned to the first page by using the @ Reference directive.
Indicates the target user agent (typically, a Web browser such as Microsoft Internet Explorer) for which ASP.NET server controls should render content. This value can be any valid alias as defined within the <clientTarget> section of the application's configuration file.
Specifies the name of the compiled file that contains the class associated with the page. This attribute is not used at run time.
Specifies a path to the referenced code-behind file for the page. This attribute is used together with the Inherits attribute to associate a code-behind source file with a Web page. The attribute is valid only for compiled pages.
Specifies the type name of a base class for a page and its associated code-behind class.
This attribute is optional, but when it is used the CodeFile attribute
must also be present. Use this attribute when you want to implement a
shared scenario, where you define common fields (and optionally,
associated events) in a base class to reference the controls declared in a Web page. Because of the ASP.NET code generation model, if you defined the fields in a base class
without using this attribute, at compile time new member definitions
would be generated for the controls declared in the Web page (within a
separate partial class stub), and your desired scenario would not work. But if you use the CodeFileBaseClass attribute to associate the base class with the page, and you make your partial class
(its name is assigned to the Inherits attribute and its source file is
referenced by the CodeFile attribute) inherit from the base class, then the fields in the base class will be able to reference the controls on the age after code generation.
Indicates the value of the encoding scheme used for the response. The value is an integer that serves as an ID for the encoding scheme. For a list of possible CodePage IDs, see the Encoding class.
whether the page should be compiled, using a string that specifies one
of several enumerated options. The default value is Always, so .aspx
pages are compiled by default. For details, see the CompilationMode
A string containing compiler options used to compile the page. In C# and Visual Basic, this is a sequence
of compiler command-line switches. For more information about compiler
options, see C# Compiler Options or Visual Basic Compiler.
the HTTP content type of the response as a standard MIME type. Supports
any valid HTTP content-type string. For a list of possible values.
the culture setting for the page. The value of this attribute must be a
valid culture ID. Note that the LCID and Culture attributes are
mutually exclusive; if you use one of these attributes, you cannot use
the other in the same page. For more information about possible culture
values, see the CultureInfo class.
whether the page should be compiled with debug symbols. true if the
page should be compiled with debug symbols; otherwise, false. Because
this setting affects performance, you should only set the attribute to
true during development.
Provides a text description of the page. This value is ignored by the ASP.NET parser.
validation of events in postback and callback scenarios. true if events
are being validated; otherwise, false. The default is true.
event validation reduces the risk of unauthorized postback requests and
callbacks. When the enableEventValidation property is set to true,
ASP.NET allows only the events that can be raised on the control during a
postback request or callback. With this model, a control registers its
events during rendering and then validates the events during the
post-back or callback handling. All event-driven controls in ASP.NET use
this feature by default.
It is strongly recommended that you do
not disable event validation. Before disabling event validation, you
should be sure that no postback could be constructed that would have an
unintended effect on your application.
session-state requirements for the page. true if session state is
enabled; ReadOnly if session state can be read but not changed;
otherwise, false. The default is true. These values are
case-insensitive. For more information, see ASP.NET Session State
Indicates whether themes are used on the page. true if themes are used; otherwise, false. The default is true.
whether view state is maintained across page requests. true if view
state is maintained; otherwise, false. The default is true.
that ASP.NET should run a machine authentication check (MAC) on the
page's view state when the page is posted back from the client. true if
view state should be MAC checked; otherwise, false. The default is true.
Defines a target URL for redirection if an unhandled page exception occurs.
whether the page is compiled using the Visual Basic Option Explicit
mode. true indicates that the Visual Basic explicit compile option is
enabled and that all variables must be declared using a Dim, Private,
Public, or ReDim statement; otherwise, false. The default is false.
Defines a code-behind class for the page to inherit. This can be any class derived from the Page class. This attribute is used with the CodeFile attribute, which contains the path to the source file for the code-behind class.
The Inherits attribute is case-sensitive when using C# as the page
language, and case-insensitive when using Visual Basic as the page
If the Inherits attribute does not contain a namespace,
ASP.NET checks whether the ClassName attribute contains a namespace. If
so, ASP.NET attempts to load the class referenced in the Inherits
attribute using the namespace of the ClassName attribute. (This assumes
that the Inherits attribute and the ClassName attribute both use the
For more information about code-behind classes, see ASP.NET Web Page Code Model.
the language used when compiling all inline rendering (<% %> and
<%= %>) and code declaration blocks within the page. Values can
represent any .NET Framework-supported language, including Visual Basic,
C#, or JScript. Only one language can be used and specified per page.
Defines the locale identifier for the Web Forms page.
whether the runtime should generate line pragmas in the source code.
These are compiler options that are often used by debugging tools to
mark specific locations in a source file. true if line pragmas should be
generated; otherwise, false.
whether to return the user to the same position in the client browser
after postback. true if users should be returned to the same position;
otherwise, false. The default is false.
Sets the path to the master page for the content page or nested master page. Supports relative and absolute paths.
the name of the encoding scheme used for the HTTP response that
contains a page's content. The value assigned to this attribute is a
valid encoding name. for a list of possible encoding names, see the
Encoding class. You can also call the GetEncodings()()() method for a
list of possible encoding names and IDs.
whether the page supports the smart navigation feature of Internet
Explorer 5.5 or later. true if smart navigation is enabled; otherwise,
false. The default is false.
You can also set the SmartNavigation
property for the page in code, but in general you should set it using
the attribute with the @ Page directive. For more information about how
this feature improves the user experience of navigating on Web pages,
see the SmartNavigation()()() property.
a path to a source file containing code that is linked to the page. In
the linked source file, you can choose to include programming logic for
your page either in a class or in code declaration blocks.
use the Src attribute to link build providers to the page. For more
information, see the BuildProvider class. Also, in versions of ASP.NET
prior to 2.0, the Src attribute was used as an alternative way to link a
code-behind file to a page. In ASP.NET 2.0, the preferred approach to
linking a code-behind source file to a page is to use the Inherits
attribute to specify a class, along with the CodeFile attribute to
specify the path to the source file for the class.
that the page should be compiled using the Visual Basic Option Strict
mode. true if Option Strict is enabled; otherwise, false. The default is
a valid theme identifier to use on the page. When the StyleSheetTheme
attribute is set, individual controls can override the stylistic
settings contained in a theme. Thus a theme can provide an overall look
for a site, while the settings contained in the StyleSheetTheme
attribute enable you to customize particular settings on a page and its
the name of a schema that validates content on the page. This serves
only a descriptive purpose; no actual validation is performed, and the
attribute is ignored by the parser.
a valid theme identifier to use on the page. When the Theme attribute
is set without using the StyleSheetTheme attribute, it overrides
individual style settings on controls, enabling you to create a unified
and consistent look on a page.
a title for the page that is rendered within the HTML <title>
tags in the response. The title can also be accessed programmatically as
a property of the page. For details, see the Title()()() property.
whether tracing is enabled. true if tracing is enabled; otherwise,
false. The default is false. For more information, see ASP.NET Tracing
how trace messages are to be displayed for the page when tracing is
enabled. Possible values are SortByTime and SortByCategory. The default,
when tracing is enabled, is SortByTime. For more information about
tracing, see ASP.NET Tracing Overview.
whether transactions are supported on the page. Possible values are
Disabled, NotSupported, Supported, Required, and RequiresNew. The
default is Disabled.
Specifies the user interface (UI) culture setting to use for the page. Supports any valid UI culture value.
whether request validation should occur. If true, request validation
checks all input data against a hard-coded list of potentially dangerous
values. If a match occurs, an HttpRequestValidationException exception
is thrown. The default is true.
This feature is enabled in the
machine configuration file (Machine.config). You can disable it in your
application configuration file (Web.config) or on the page by setting
this attribute to false.
how view state is encrypted, with three possible enumerated values:
Auto, Always, or Never. The default is Auto, meaning that view state
will be encrypted if an individual control requests it. For more
information, see the ViewStateEncryptionMode enumeration.
the compiler warning level at which you want the compiler to treat
warnings as errors, thus aborting compilation of the page. Possible
warning levels are 0 through 4. For more information, see the