Sideway from Sideway
Draft for Information Only


ASP.NET @ Webpage Directives
  @ Assembly
  @ Control
  Attribute Values
  @ Implements

ASP.NET @ Webpage Directives

The webpage directives for web form and user control are @ Assembly:, @ Control, @ Implements, @ Import, @ Master, @ MasterType, @ OutputCache, @ Page, @ PreviousPageType, @ Reference, and @ Register.

@ Assembly

The @ Assembly is used to link an assembly to an ASP.NET application file, such as a web page, a user control, a master page, or a global.asax file, during compilation in order to make all the assembly's classes and interfaces available for use.


<%@ Assembly Name="assemblyname" %>
<%@ Assembly Src="pathname" %> 


@ AssmemblyKeywords of @ Assmebly directive NameAttribute keyword used to specify assembly by name assemblynameA string that represents the name of the assembly to link. The specified assembly name does not include a file name extension. SrcAttribute keyword used to specify assembly by source pathnameThe path to a source file to dynamically compile and link against.


  • Either a Name or a Src attribute must be included in an @ Assembly directive, but both Name and Src attributes can not be included within the same @ Assembly directive. If both Name and Src attributes are needed to be used in @ Assembly, multiple @ Assembly directives must be used  in the file in order to include both Name and Src attributes seperatedly.
  • The @ Assembly directive can be used in .aspx pages, .ascx files, .master pages and .asax files.
  • The compiler references the assembly at compile time, allowing early binding. After compilation of the requested ASP.NET file is complete, the assembly is loaded into the application domain, allowing late binding.
  • Assemblies that reside in the Web application's \Bin directory are automatically linked to ASP.NET files within that application. Such assemblies do not require the @ Assembly directive. This automatic function can be disable this functionality by removing the following line from the <assemblies> section of the application's Web.config file: <add assembly="*"/>
  • As an alternative to using the @ Assembly directive, the Web.config file can also be used to link assemblies across an entire application.

@ Control

The @ Control directive is used to define attributes that are used by the ASP.NET page parser and compiler. The @ Control directive is specifically used for user controls file. In other words, the @ Control directive can be used only with whose source code is contained in user controls files with .ascx file extension.


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


@ ControlKeywords of @ Control directive attributeSpecified keywords from a list of attribute name used to specify attribute of @ Control attribute. "value"The specified value of the specified attribute of @ Control attribute.

Attribute Values

AutoEventWireupIndicates whether the control's events are autowired. true if event autowiring is enabled; otherwise, false. The default is true. ClassNameA string that specifies the class name for the control that will be dynamically compiled when the control is requested. This value can be any valid class name and can include the full namespace of a class (a fully qualified class name). If a value for this attribute is not specified, the class name for the compiled control is based on the control's file name. Another page or control can reference the class name assigned to the control by using the @ Reference directive. ClientIDModeSpecifies the algorithm to use to generate ClientID values for controls. The default value for a page is AutoID. The default value for controls is Inherit. Therefore, the default algorithm for controls in a user control is determined by the ClientID setting of the user control. A different default value can be set at the page level in the @ Page directive or in the pages element of the Web.config file. CodeBehindSpecifies the name of the compiled file that contains the class associated with the control. This attribute is not used at run time. Note: This attribute is included for compatibility with previous versions of ASP.NET, to implement the code-behind feature. In ASP.NET version 2.0, you should instead use the CodeFile attribute to specify the name of the source file, along with the Inherits attribute to specify the fully qualified name of the class. CodeFileSpecifies a path to the referenced code-behind file for the control. This attribute is used together with the Inherits attribute to associate a code-behind source file with a user control. The attribute is valid only for compiled controls. CodeFileBaseClassSpecifies a path to a base class for a control 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 user control. Because of the ASP.NET code generation model, if you defined the fields in a base class without using the this attribute, at compile time new member definitions would be generated for the controls declared in the user control (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 user control, 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 in the user control after code generation. CompilationModeSets whether the control should be compiled, using a string that specifies one of several enumerated options. The default value is Always, so .aspx controls are compiled by default. CompilerOptionsA string containing compiler options used to compile the control. In C# and Visual Basic, this is a sequence of compiler command-line switches. DebugIndicates whether the control should be compiled with debug symbols. true if the control should be compiled with debug symbols; otherwise, false. Because this setting affects performance, you should only set the attribute to true during development. DescriptionProvides a text description of the control. This value is ignored by the ASP.NET parser. EnableThemingIndicates whether themes are used on the control. true if themes are used; otherwise, false. The default is true. EnableViewStateIndicates whether view state is maintained across control requests. true if view state is maintained; otherwise, false. The default is true. ExplicitDetermines whether the control 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. Note: This attribute is ignored by languages other than Visual Basic. Also, this option is set to true in the Machine.config configuration file. InheritsDefines a code-behind class for the control to inherit. This can be any class derived from the UserControl class. Used with the CodeFile attribute, which contains the path to the source file for the code-behind class. LanguageSpecifies the language used when compiling all inline rendering (<% %> and <%= %>) and code declaration blocks within the control. Values can represent any .NET Framework-supported language, including Visual Basic, C#, or JScript. Only one language can be used and specified per control. LinePragmasDetermines 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. SrcSpecifies a path to a source file containing code that is linked to the control. In the linked source file, you can choose to include programming logic for your control either in a class or in code declaration blocks. You can use the Src attribute to link build providers to the control. 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 control. In ASP.NET version 2.0, the preferred approach to linking a code-behind source file to a control 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. StrictIndicates that the control should be compiled using the Visual Basic Option Strict mode. true if Option Strict is enabled; otherwise, false. The default is false. Note This attribute is ignored by languages other than Visual Basic. TargetSchemaSpecifies the name of a schema that validates content on the control. This serves only a descriptive purpose; no actual validation is performed, and the attribute is ignored by the parser. WarningLevelIndicates the compiler warning level at which you want the compiler to treat warnings as errors, thus aborting compilation of the control. Possible warning levels are 0 through 4. For more information, see the WarningLevel property.


  • ASP.NET treats any directive block (<%@ %>) that does not contain an explicit directive name as an @ Page directive (for a page) or as an @ Control directive (for a user control).
  • The @ Control directive can be used only in user controls. User controls are defined in files with the .ascx extension.
  • Only one @ Control directive can be included per .ascx file.
  • Further, only one Language attribute can  be defined per @ Control directive, because only one language can be used per control.
  • The @ Control directive has a number of attributes in common with other directives that apply to an entire source file, such as the @ Page directive (used in .aspx files for Web pages) and the @ Master directive (used in .master files for master pages).
  • To define multiple attributes for the @ Control directive, separate each attribute/value pair with a single space. For a specific attribute, do not include a space on either side of the equal sign (=) that connects the attribute with its value.

@ Implements

The @ Implements directive is used to indicate that the current ASP.NET application file (Web page, user control, or master page) implements the specified .NET Framework interface.


<%@ Implements interface="ValidInterfaceName" %>


@ ImplementsKeywords of @ Implements directive interfaceAttribute keyword used to specify interface to be implemented on the page or user control by name "ValidInterfaceName"The specified ValidInterfaceName of the valid interface of @ Implement directive.


  • When implementing an interface in a Web Forms page, the interface's events, methods, and properties can be created between the opening and closing tags of a <script> element in a code declaration block.
  • The @ Implements can not be use to implement an interface in a code-behind file.




ID: 190600027 Last Updated: 27/6/2019 Revision: 0 Ref:



  1. Active Server Pages,  ,
  2. ASP Overview,  ,
  3. ASP Best Practices,  ,
  4. ASP Built-in Objects,  ,
  5. Response Object,  ,
  6. Request Object,  ,
  7. Server Object (IIS),  ,
  8. Application Object (IIS),  ,
  9. Session Object (IIS),  ,
  10. ASPError Object,  ,
  11. ObjectContext Object (IIS),  ,
  12. Debugging Global.asa Files,  ,
  13. How to: Debug Global.asa files,  ,
  14. Calling COM Components from ASP Pages,  ,
  15. IIS ASP Scripting Reference,  ,
  16. ASP Keywords,  ,
  17. Creating Simple ASP Pages,  ,
  18. Including Files in ASP Applications,  ,
  19. ASP Overview,  ,
  20. FileSystemObject Object,  ,
  21.,  , ADO Object Model
  22. ADO Fundamentals,  ,

Home 5






Hobbies 8


Chinese 1097

English 337

Reference 67


Hardware 149


Application 198

Digitization 25

Latex 6

Manim 113

Numeric 19


Web 283

Unicode 494


CSS 58


OS 389

DeskTop 7

Python 19



Formulas 8

Algebra 25

Number Theory 206

Trigonometry 18

Geometry 21

Calculus 67

Complex Analysis 21


Tables 8


Mechanics 1

Rigid Bodies

Statics 92

Dynamics 37

Fluid 5

Fluid Kinematics 5


Process Control 1

Acoustics 19

FiniteElement 2


Electric 27

Biology 1

Geography 1

Copyright © 2000-2020 Sideway . All rights reserved Disclaimers last modified on 06 September 2019