About Preprocessing Directives in ASP.NET


ASP.Net directives are instructions to specify optional settings, such as registering a custom control and page language. These settings describe how the web forms (.aspx) or user controls (.ascx) pages are processed by the .Net framework.

The syntax for declaring a directive is:

<%@  directive_name attribute=value  [attribute=value]  %>

In this section, we will just introduce the ASP.Net directives and we will use most of these directives throughout the tutorials.

The Application Directive

The Application directive defines application-specific attributes. It is provided at the top of the global.aspx file.

The basic syntax for a sample Application directive is:

<%@ Application Language="C#" %>

The attributes of the Application directive are:

Attributes Description
Inherits the name of the class from which to inherit
Description text description of the application. Parsers and compilers ignore this
Language language used in code blocks

The Assembly  Directive

The Assembly directive links an assembly to the page or the application at parse time. This could appear either in the global.asax file for application-wide linking or in the page file or a user control file for linking to a page or user control.

The basic syntax for a sample Assembly directive is:

<%@ Assembly Name ="myassembly" %>

The attributes of the Assembly  directive are:

Attributes Description
Name the name of the assembly to be linked
Src the path to the source file to be linked and compiled dynamically

The Control   Directive

The Control directive is used with the user controls and appears in the user control (.ascx) files.

The basic syntax for a sample Control directive is:

<%@ Control Language="C#"  EnableViewState="false" %>

The attributes of the Control directive are:

Attributes Description
AutoEventWireup the Boolean value that enables or disables automatic association of events to handlers
ClassName file name for the control
Debug the Boolean value that enables or disables compiling with debug symbols
Description text description of the control page, ignored by compiler
EnableViewState the Boolean value that indicates whether view state is maintained across page requests
Explicit for VB language, tells the compiler to use Option Explicit mode
Inherits the class from which the control page inherits
Language language for code and script
Src the filename for the code-behind class
Strict for VB language, tells the compiler to use the Option Strict mode

The Implements Directive

The Implement directive indicates that the web page, master page or user control page must implement the specified .Net framework interface.

The basic syntax for an Implements directive is:

<%@ Implements  Interface="interface_name" %>

The Import Directive

The Import directive imports a namespace into a web page, user control pate of application. If the Import directive is specified in the global.asax, then it will apply to the entire application. If it is in a page of user control page, then it would apply to that page or control.

The basic syntax for an Import directive is:

<%@ namespace="System.Drawing" %>

The Master Directive

The Master directive specifies a page file as being the mater page.

The basic syntax for a sample MasterPage directive is:

<%@ MasterPage Language="C#"  AutoEventWireup="true" 
    CodeFile="SiteMater.master.cs" Inherits="SiteMaster"  %>

The MasterType Directive

The MasterType directive assigns a class name to the Master property of a page, to make it strongly typed.

The basic syntax for a MasterType directive is:

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

The OutputCache Directive

The OutputCache directive controls the output caching policies of a web page or a user control. We will discuss this directive in details, in data caching.

The basic syntax for a OutputCache directive is:

<%@ OutputCache Duration="15" VaryByParam="None"  %>

The Page Directive

The Page directive defines the attributes specific to the page file for the page parser and the compiler.

The basic syntax for a Page directive is:

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

The attributes of the Page directive are:

Attributes Description
AutoEventWireup the Boolean value that enables or disables Page events that are being automatically bound to methods; for example, Page_Load
Buffer the Boolean value that enables or disables HTTP response buffering
ClassName class name for the page
ClientTarget the browser for which server controls should render content
CodeFile name of the code behind file
Debug the Boolean value that enables or disables compilation with debug symbols
Description text description of the page, ignored by the parser
EnableSessionState enables, disables or makes session state read-only
EnableViewState the Boolean value that enables or disables view state across page requests
ErrorPage URL for redirection if an unhandled page exception occurs
Inherits the name of the code behind or other class
Language programming language for code
Src file name of the code behind class
Trace enables or disables tracing
TraceMode indicates how trace messages are to be displayed – sorted by time or category
Transaction indicates if transactions are supported
ValidateRequest the Boolean value that indicates whether all input data is validated against a hardcoded list of values

The PreviousPageType Directive

The PreviousPageType directive assigns a class to a page, so that the page is strongly typed.

The basic syntax for a sample PreviousPagetype directive is:

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

The Reference Directive

The Reference directive indicates that another page or user control should be compiled and linked to the current page.

The basic syntax for a sample Reference directive is:

<%@ Reference Page ="somepage.aspx" %>

The Register Directive

The Register derivative is used for registering the custom server controls and user controls.

The basic syntax for a sample Register  directive is:

<%@ Register Src="~/footer.ascx" TagName="footer" 
    TagPrefix="Tfooter" %>
Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s