Директива используется для импорта пространств имен для страницы. Это делает доступным на странице все классы и интерфейсы из импортированного пространства. Пример использования директивы:
<%@Import Namespace="BSUIR" %>
Одна директива @Import позволяет импортировать одно пространство имен, поэтому для импортирования нескольких пространств надо соответствующее количество директив. Платформа .NET при работе с ASP.NET автоматически импортирует следующие пространства имен:
System
System.Web
System.Collections
System.Web.Caching
System.Collections.Specialized
System.Web.Security
System.Configuration
System.Web.SessionState
System.IO
System.Web.UI
System.Text
System.Web.UI.HtmlControls
System.Text.RegularExpressions
System.Web.UI.WebControls
Директива @Implements позволяет реализовать на странице интерфейс. При реализации интерфейса вы сообщаете, что страница будет поддерживать определенные свойства, методы и события (аналогично реализации интерфейса в классе). В следующем примере указано, что страница реализует интерфейс IPostBackEventHandler:
Данная директива используется при добавлении на страницу индивидуального серверного элемента управления для сообщения компилятору информации об этом элементе. Существуют две формы директивы @Register:
Первая форма используется, когда серверный элемент представлен в виде исходного текста, вторая – для ссылки на пространство имен скомпилированных серверных элементов. Атрибут TagPrefix задает префикс для пользовательских элементов на странице. Например, пусть задана следующая директива @Register:
Тогда перед каждым экземпляром элемента Header на странице указывается префикс Ecommerce:
<Ecommerce:Header id="Header" runat="server"/>
Атрибут TagName задает имя, которое будет употребляться для ссылки на пользовательский элемент на странице. Атрибут Src определяет имя файла с пользовательским элементом. В случае использования второй формы директивы @Register, атрибуты Namespace и Assembly определяют пространство имен и сборку, содержащую пользовательский элемент: