Основы ASP.NET 2.0

       

Атрибуты


Наличие атрибутов — важное свойство языков .NET. С их помощью в метаданные класса в сборку добавляется информация, которая используется самым различным образом. Атрибуты — это классы, наследующие System.Attribute и применяющиеся к пространствам имен, классам, свойствам и методам. Синтаксис применения атрибута в C#:

[CustomAttr(Update:=true, Keep=false)]

Конструктор атрибута указывается в квадратных скобках с параметрами, которые определены в декларации класса атрибута.

В ASP .NET атрибуты в том числе определяют поведение пользовательских элементов управления (а также, например, используются в описании web-сервисов). В описании WebCustomControl1 атрибуты применены и к самому классу, и к свойству Text. Атрибуты класса определяют его помещение в панель Toolbox и в дизайнере страниц. Их можно поделить на 3 категории: атрибуты, помогающие среде разработки работать с элементом управления в режиме дизайна; атрибуты, управляющие выводом дочерних элементов; атрибуты, определяющие его поведение в панели инструментов.

DefaultProperty определяет свойство по умолчанию. При открытии окна свойств элемента управления в дизайнере помеченное этим атрибутом свойство будет выделено бежевым.

ToolboxData задает форматирующую строку. Например,

ToolboxData("<{0}:WebCustomControl1 runat=server></{0}:WebCustomControl1>")

Это строка с формальным параметром, в качестве значения которого подставляется атрибут TagPrefix директивы Register, регистрирующей данный элемент на конкретной странице.


Когда в дизайнере страницы происходит двойной щелчок мыши на элементе, среда разработки создает обработчик события, например, SelectedIndexChanged для выпадающего списка DropDownList. Какое именно событие, определяется атрибутом DefaultEvent.

Атрибуты применяются также к свойствам и событиям элемента.

Bindable указывает, что свойство можно связать с источником данных.

Category обозначает категорию в окне свойств элемента. Свойства разбиваются на категории, если выбрать представление Categorized окна свойств.

Атрибут Themable определяет, может ли данное свойство определяться в файле скина.

По умолчанию ASP .NET позволяет всем свойствам написанных нами элементов управления быть описанными в файлах скинов. Это не всегда удобно, если свойство не относится к внешнему виду элемента. В таком случае атрибут создается с параметром false:

[Themeable(false)] public string Text

Browsable указывает, будет ли отображаться свойство в окне свойств, и EditorBrowsable — возможно ли будет его редактировать.

Существуют и другие атрибуты.


Содержание раздела