Every ASP.NET developer needs to be familiar with Page Directives. If you are a beginner and you want to learn about the Page Directives then you can read this article.
So the first question is about Page Directives.
What is a Page Directive?
Basically Page Directives are commands. These commands are used by the compiler when the page is compiled.
How to use the directives in an ASP.NET page
It is not difficult to add a directive to an ASP.NET page. It is simple to add directives to an ASP.NET page. You can write directives in the following format:
<%@%>
See the directive format, it starts with "<%@" and ends with "%>". The best way is to put the directive at the top of your page. But you can put a directive anywhere in a page. One more thing, you can put more than one attribute in a single directive.
Here is the full list of directives:
- @Page
- @Master
- @Control
- @Import
- @Implements
- @Register
- @Assembly
- @MasterType
- @Output Cache
- @PreviousPageType
- @Reference
Let"s discuss something about each directive.
When you want to specify the attributes for an ASP.NET page then you need to use @Page Directive. As you know, an ASP.NET page is a very important part of ASP.NET, so this directive is commonly used in ASP.NET.
<%@Page Language="C#" AutoEventWIreup="false" CodeFile="Default.aspx.cs" Inherits="_Default"%>
Now you have some information about @Page Directives. The @Master Directive is quite similar to the @Page Directive. The only difference is that the @master directive is for Master pages. You need to note that, while using the @Master Directive you define the template page"s property. Then any content page can inherit all the properties defined in the Master Page. But there are some properties that are only available in a Master Page.
<%@Master Language="C#" AutoEventWIreup="false" CodeFile="MasterPage1.master.cs" Inherits="MasterPage"%>
@Control
@Control builds ASP.NET user controls. When you use the directive you define the properties to be inherited by the user controls and theses values are assigned to the user controls
<%@Control Language="C#" Explicit="True" CodeFile="WebUserControl.ascx.cs" Inherits="WebUserControl" %>
As you know you need to define namespaces in your .cs class before using a C# or VB class. So the @Import Directive imports namespaces. This directive supports just a single attribute "namespace" and this attribute takes a string value that specifies the namespace to be imported. One thing you need to note is that the @Import Directive cannot contain more than one attribute/value pair. But you can use multiple lines.
<%@Import Namespace="System.Data"%>
@Implements
The @Implements Directive gets the ASP.NET pages to implement .Net framework interfaces. This directive only supports a single attribute interface.
<%@Implements Interface="System.Web.UI.IValidator"%>
@Register
When you create a user control and you drag that user control onto your page then you will see the @Register directive. This directive registers your user control on the page so that the control can be accessed by the page.
<%@ Register TagPrefix="MayTag Namespace="MyName.MyNameSpace" Assembly="MyAssembly"%>
@Assembly
The @Assembly Directive attaches assemblies to the page or an ASP.NET user control thereby all the assembly classes and interfaces are available to the class. This directive supports the two attributes Name and src. The Name attribute defines the assembly name and the src attribute defines the source of the assembly.
<%@Assembly Name="MyAssembly"%>
<%@Assembly src="MYAssembly.cs">
@MasterType
The @MasterType Directive connects a class name to the ASP.NET page for getting strongly typed references or members contained in the specified Master Page. This directive supports the two attributes Typename and virtualpath. Typename sets the name of the derived class from which to get the strongly typed or reference members and virtualpath sets the location of the page from which these are retrieved.
<%@MasterType VirtualPath="/MasterPage1.master"%>
@output cache
It controls the output caching policies of an ASP.NET page.
<%@ OutputCache Duration ="180" VaryByParam="None"%>
@Previouspagetype
This directive specifies the page from which any cross-page posting originates.
@Reference
This directive declares that another page or user control shout be complied along with the active page or control. This directive supports the single attribute virtualpath. It sets the location of the page or user control from which the active page will be referenced.
<%@Reference VirtualPayh="~/MyControl.ascx"%>
Final Words
I hope you get some knowledge from here. Please comment about how you like this article. Your comments are very valuable for me, because only you will tell me where I am going wrong and what improvements I need to make to write a better article. Please comment and provide your feedback.
Что такое гостевая книга?
Разумеется, здесь речь идет о наиболее типичной гостевой книге. Прежде всего это система, предоставляющая пользователю возможности для ввода текста, выбора оценки того или иного сайта, а также для указания собственных данных (ФИО, e-mail, http и т.д.). Это также система представления данных, введенных различными пользователями, с возможностью навигации, отправки электронных писем авторам сообщений. Возможны и вариации с различными настройками и с контролем нормативности лексики.
Что нам понадобится
Конечно, предполагается, что читатель знаком с основами ASP- и SQL-программирования (знакомства с первыми частями настоящей статьи для этого будет вполне достаточно). Кроме того, нам потребуется Microsoft SQL Server 7.0 или 2000, какой-нибудь HTML- или текстовый редактор (рекомендую использовать Macromedia Dreamweaver UltraDev 4.0) и немного терпения.
Создание и подготовка базы данных
Для организации хранения введенных пользователями данных вам понадобиться одна таблица, где можно завести поля для хранения имени пользователя, его электронного адреса, страны проживания, адреса сайта, IP-адреса, значения оценки пользователем сайта по пятибалльной шкале и т.д:
В целях удобного встраивания системы в уже существующие сайты рекомендуется спланировать еще одну таблицу, предназначенную для хранения цветовых и других установок. Это позволит в дальнейшем изменять указанные установки без изменений соответствующих параметров в исходных текстах модулей приложения гостевой книги.
- Запустите программу-конфигуратор источников данных (Data Sources ODBC) - Start->Settings->Control Panel->Administrative Tools->Data Sources ODBC.
- Перейдите во вкладку System DSN и создайте новый источник данных, нажав на Add…
- В появившемся списке драйверов выберите драйвер баз данных - Microsoft SQL Server и нажмите на Next.
- В строке Data Source Name задайте имя вашей базы данных (в описываемом примере Gustbook - это имя, по которому вы в дальнейшем будете обращаться к ней).
- В строке Server укажите сервер, к которому будет осуществлено подключение, и нажмите на Next.
- Выберите режим аутентификации With SQL Server…, задайте имя пользователя и пароль для подключения к SQL-серверу; определите протокол связи с сервером (кнопка Client Configuration - TCP/IP) и два раза нажмите на Next, после чего нажмите на Finish.
- Вы увидите статистику о проделанных действиях, а для проверки источника данных можете воспользоваться кнопкой Test Data Source.
- В итоге перед вами появится строка в списке источников данных в вашей системе.
Теперь, когда база данных готова, можно переходить непосредственно к созданию гостевой книги.
Интеграция системы в уже готовый сайт
Понятно, что сама по себе гостевая книга не имеет смысла. Посудите сами: кому нужен сайт, предназначенный исключительно для сбора мнений читателей. Ведь для того чтобы собирать мнения о чем-либо, надо сначала это что-либо представить на их суд. Следовательно, необходимо уделить особое внимание моментам, связанным с упрощением встраивания системы в уже готовые сайты.
В частности, для упрощения настройки системы под характерные особенности того или иного сайта рекомендуется (как уже говорилось выше) создать специальную таблицу для хранения всех этих предпочтений, чтобы заносить в нее определенные значения, специфические для вашего сайта. Очевидное преимущество такого подхода заключается в том, что для осуществления встраивания системы в уже готовый сайт не потребуется производить изменения в исходном коде модулей, нужно изменить только настройки в соответствующей таблице базы данных.
Представим себе пример реализации такой таблицы: .
Как видите, здесь присутствуют поля для хранения информации об имени и пароле доступа к режиму настройки системы, о цветах основного фона сообщения пользователей, верхней и нижней рамок (поля Mid_Color, Top_Color, Bot_Color соответственно), о цвете и размере заголовка формы, служащей для ввода пользователем данных (поля Form_Color и FormTitleSize соответственно), о цвете, размере и начертании шрифра текста самого сообщения, информационных полей, а также самих страниц с гостевой книгой (поля MessageFontColor, MessageFontSize, MessageFontFace, InfoFontColor, InfoFontSize, InfoFontFace, PageFontColor, PageFontSize и PageFontFace соответственно), полей-переключателей для включения режима автоматической отправки уведомлений о поступлении новых сообщений по электронной почте ответственному лицу (например, менеджеру или администратору сайта), поля хранения электронного адреса ответственного лица, текста сообщения с благодарностями за оставленное пользователем сообщение, со списком недопустимых слов и переключателем режима их фильтрации (если последний включен, то слова, находящиеся в списке недопустимых, будут автоматически заменяться в тексте сообщения на звездочки и таким образом будет осуществлен контроль за нормативностью лексики текстов сайта).
Развитие системы интеграции гостевой книги подразумевает организацию и Web-интерфейса для настройки всех рассмотренных нами параметров (полей таблицы администрирования).
Интеграция системы в уже готовый сайт в чистом виде может создавать некоторые сложности и при восприятии исходного текста, и в дальнейшем, если, например, потребуется временно отключить гостевую книгу на том или ином сайте. Поэтому попытаемся разработать систему таким образом, чтобы ее интеграция в готовый сайт не составила особого труда. Для этого необходимо сформировать независимый модуль системы и включить его в текст основного сайта там, где это необходимо. Так, к примеру, текст страницы вашего сайта может выглядеть следующим образом: