Директивы - tolstykh.com

advertisement
Из цикла лекций «Технологии разработки Internet-приложений» для студентов 4-го курса кафедры Компьютерных
технологий физического факультета Донецкого национального университета
Технологии
разработки Internetприложений
ASP.NET приложения –
директивы
проф. В.К.Толстых, www.tolstykh.com
Директива @Page файлов .aspx
Директивы страницы служат для конфигурирования среды выполнения. Имя директивы чувствительно к регистру.
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs"
Inherits="_Default" %>
Основные атрибуты директивы @Page:
AutoEventWireup
Автоматическая обработка событий страницы, установить true
CompilerOptions
Опции компилятора
ClassName
Назначает имя класса, сгенерированного данной страницей
CodeFile
Название файла, описывающего класс данной страницы, с отделенным кодом для страницы
Debug
Если true, то на страницу выводится отладочная информация
ErrorPage
Задаёт URL, куда в случае необработанного исключения будет перенаправлен браузер.
Trace
Вывод трассировочной информации
EnableViewState
Сохранение состояния представления страницы (в кодировке BASE64). По умолчанию – true.
EnableViewState
Mac
Если true (по умолчанию), то к состоянию представления страницы добавляется зашифрованная аутентификационная подпись на основе кода машины (из файла machine.config),
чтобы убедиться, что состояние представления не было изменено на стороне клиента.
ViewStateEncryp
tionMode
Указывает должно ли быть зашифровано состояние представления страницы (Auto – по
умолчанию, Always, Never). При Auto состояние ViewState шифруется, если хотя бы один
элемент управления на странице запросит это. Может устанавливаться и в web.config –
<pages ViewStateEncryptionMode="Always" />
Inherits
Указывает класс Page (System.Web.UI.Page) , от которого наследуется класс данной
страницы в технологии отделенного кода. По умолчанию _Default
Async
Устанавливает страницу как синхронный или асинхронный (false по умолчанию) обработчик.
Language
Язык, используемый во внедренном коде.
OutputCache
Кэширование вывода страницы.
Директива @Assembly
Директива @Assembly подключает сторонние (дополнительные пользовательские) сборки к текущей странице в
виде .dll или .cs файлов.
Для того чтобы связать сборку со страницей в приложении, включите в файл страницы одну из двух следующих
директив:
<%@ Assembly Name = имя_файла_сборки_из_bin.dll %>
<%@ Assembly Src = путь_к_исходнику_файла_сборки.cs %>
По умолчанию в файле web.cofig строка <add assembly=”*” /> связывает с приложением (со всеми
компилируемыми классами страниц) все сборки из папки bin. Если вы не хотите, чтобы с приложением
автоматически связывались все сборки, найденные в bin, то данную строку следует удалить.
Для того, чтобы связать конкретную сборку с приложением , во-первых, поместите её в корневую папку bin , вовторых, добавьте в файл web.cofig строки:
<system.web>
<compilation>
<assemblies>
<add assembly = ”список полных имён классов в сборке”
…
Директива @Import
Директива @Import связывает со страницей пространство имён. Это аналог оператора using
Например, если Вы не хотите создавать в файле страницы новый экземпляр класса ADO.NET DataSet, то можно
при помощи директивы @Import импортировать пространство имён System.Data, что даст возможность
выполнить оператор типа
DataSet ds = new DataSet();
иначе, каждый раз придётся задавать уточнённое имя класса
System.Data DataSet ds = new System.Data DataSet();
В данном примере импорт пространства имён реализуется очень просто:
<%@ Import namespace = System.Data %>
Пространство имён
Такой импорт позволяет использовать короткие имена классов и предполагает наличие сборки, содержащей код
соответствующего класса, которая присоединена к текущей странице. Обычно, имена сборок и пространства
имён (классов) совпадают.
.dll
Директива @Reference
Директива @Reference устанавливает динамическую связь (взаимодействие) в пределах одного проекта между
текущей страницей и заданной страницей или пользовательским элементом управления, где описаны нужные
дополнительные данные (классы).
Например,
<%@ Reference page = виртуальный_путь_к_странице_.aspx %>
<%@ Reference control = виртуальный_путь_к_элементу_.ascx %>
Файл пользовательского элемента
Во время компиляции в сборку текущего файла классы и пользовательские элементы управления, указанные в
@Reference, становятся доступными.
Директива @Control
Идентифицирует струнцу пользовательского элемента управления – .ascx
Директива @Master
Идентифицирует эталонную струнцу MasterPage.master
Download