This documentation is archived and is not being maintained.

CompilationMode Enumeration

Defines constants that specify how ASP.NET should compile .aspx pages and .ascx controls.

Namespace:  System.Web.UI
Assembly:  System.Web (in System.Web.dll)

Public Enumeration CompilationMode

Member nameDescription
AutoASP.NET will not compile the page, if possible.
NeverThe page or control should never be dynamically compiled.
AlwaysThe page should always be compiled.

The CompilationMode enumeration values indicate whether a page or control should be compiled at run time. When no compilation mode is specified, the default value is Always. Setting a page to never compile using the Never attribute will increase performance by disqualifying the specified page in the compilation process. To define a page-specific CompilationMode attribute that specifies an .aspx, .ascx or .master file should not be compiled at the page level, you can use a directive like the following:

<%@ page compilationMode="never" %>

The compilation mode can also be specified in configuration files. The PagesSection configuration section object identifies page-specific configuration settings. The pages configuration section element can be declared at the machine, site, application, and subdirectory levels of the configuration files.

If the CompilationMode is set to Never and a page contains a script block or code construct that requires compilation, ASP.NET will return with an error and the page will not run.

The following code example demonstrates how to use the CompilationMode page directive to indicate that a page should never be compiled.

<%@ Page Language="VB" compilationMode="never" %>
<%@ Import namespace="System.IO" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
<html xmlns="">
<head id="Head1" runat="server">
    <title>CompilationMode Example</title>
<form id="Form1" runat="server">
Script blocks are not allowed on this page. 
Any server side code that requires compilation 
contained in this page would cause the page to fail

.NET Framework

Supported in: 4, 3.5, 3.0, 2.0

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.