MenuItemBinding Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Определяет связь между элементом данных и пунктом меню, к которому он привязан, в элементе управления Menu. Этот класс не наследуется.
public ref class MenuItemBinding sealed : ICloneable, System::Web::UI::IDataSourceViewSchemaAccessor, System::Web::UI::IStateManager
public sealed class MenuItemBinding : ICloneable, System.Web.UI.IDataSourceViewSchemaAccessor, System.Web.UI.IStateManager
type MenuItemBinding = class
interface IStateManager
interface ICloneable
interface IDataSourceViewSchemaAccessor
Public NotInheritable Class MenuItemBinding
Implements ICloneable, IDataSourceViewSchemaAccessor, IStateManager
- Наследование
-
MenuItemBinding
- Реализации
Примеры
В следующем примере кода показано, как использовать MenuItemBinding объекты для определения связи между полями XmlDataSource элемента управления и элементами меню в элементе Menu управления. Для правильной работы этого примера необходимо скопировать приведенные ниже примеры XML-данных в файл с именем Menu.xml.
<%@ page language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>MenuItemBinding Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>MenuItemBinding Example</h3>
<asp:menu id="NavigationMenu"
datasourceid="MenuSource"
runat="server">
<DataBindings>
<asp:menuitembinding datamember="MapHomeNode"
formatstring="({0})"
textfield="Title"
valuefield="Description"
imageurlfield="ImageUrl"
tooltipfield="ToolTip"
target="_self" />
<asp:menuitembinding datamember="MapNode"
depth="1"
formatstring="[{0}]"
textfield="Title"
valuefield="Description"
imageurlfield="ImageUrl"
tooltipfield="ToolTip"
target="_blank"/>
<asp:menuitembinding datamember="MapNode"
depth="2"
formatstring="<{0}>"
textfield="Title"
valuefield="Description"
imageurlfield="ImageUrl"
tooltipfield="ToolTip"
target="_blank"/>
</DataBindings>
</asp:menu>
<asp:xmldatasource id="MenuSource"
datafile="Menu.xml"
runat="server"/>
</form>
</body>
</html>
<%@ page language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>MenuItemBinding Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>MenuItemBinding Example</h3>
<asp:menu id="NavigationMenu"
datasourceid="MenuSource"
runat="server">
<DataBindings>
<asp:menuitembinding datamember="MapHomeNode"
formatstring="({0})"
textfield="Title"
valuefield="Description"
imageurlfield="ImageUrl"
tooltipfield="ToolTip"
target="_self" />
<asp:menuitembinding datamember="MapNode"
depth="1"
formatstring="[{0}]"
textfield="Title"
valuefield="Description"
imageurlfield="ImageUrl"
tooltipfield="ToolTip"
target="_blank"/>
<asp:menuitembinding datamember="MapNode"
depth="2"
formatstring="<{0}>"
textfield="Title"
valuefield="Description"
imageurlfield="ImageUrl"
tooltipfield="ToolTip"
target="_blank"/>
</DataBindings>
</asp:menu>
<asp:xmldatasource id="MenuSource"
datafile="Menu.xml"
runat="server"/>
</form>
</body>
</html>
Следующий код является примером данных карты сайта для предыдущего примера.
<MapHomeNode ImageUrl="~\Images\Home.gif"
Title="Home"
Description="Root Page"
ToolTip="Home Page">
<MapNode ImageUrl="~\Images\Music.gif"
Title="Music"
Description="Music Category"
ToolTip="Music Page">
<MapNode ImageUrl="~\Images\Classical.gif"
Title="Classical"
Description="Classical Section"
ToolTip="Classical Page"/>
<MapNode ImageUrl="~\Images\Rock.gif"
Title="Rock"
Description="Rock Section"
ToolTip="Rock Page"/>
<MapNode ImageUrl="~\Images\Jazz.gif"
Title="Jazz"
Description="Jazz Section"
ToolTip="Jazz Page"/>
</MapNode>
<MapNode ImageUrl="~\Images\Movies.gif"
Title="Movies"
Description="Movies Category"
ToolTip="Movies Page">
<MapNode ImageUrl="~\Images\Action.gif"
Title="Action"
Description="Action Section"
ToolTip="Action Page"/>
<MapNode ImageUrl="~\Images\Drama.gif"
Title="Drama"
Description="Drama Section"
ToolTip="Drama Page"/>
<MapNode ImageUrl="~\Images\Musical.gif"
Title="Musical"
Description="Musical Section"
ToolTip="Musical Page"/>
</MapNode>
</MapHomeNode>
Комментарии
Menu Если элемент управления привязан к источнику данных, где каждый элемент данных содержит несколько полей (например, XML-элемент с несколькими атрибутами), если привязки элементов меню не определены, элемент меню отображает значение, возвращаемое методом ToString()
элемента данных по умолчанию. В случае XML-элемента в элементе меню отображается имя элемента, которое показывает базовую структуру меню, но в противном случае не очень полезно. Свойства элемента меню можно привязать к определенному полю, указав привязки элементов меню. Объект MenuItemBinding определяет связь между каждым элементом данных и элементом меню, к который он привязывается.
Примечание
Если элемент Menu управления привязан к элементу SiteMapDataSource управления, привязки элементов меню не влияют. Привязка выполняется автоматически с помощью поставщика карты сайта.
Элемент Menu управления сохраняет свои MenuItemBinding объекты в свойстве DataBindings и применяет привязки к источнику данных для создания связи "один к одному" между иерархией меню и иерархией источников данных. Для каждого элемента данных в источнике Menu данных элемент управления пытается сопоставить элемент данных с MenuItemBinding объектом, чтобы создать соответствующий MenuItem объект.
При создании MenuItemBinding объекта необходимо указать критерии привязки. Критерии указывают, когда элемент данных должен быть привязан к элементу меню. Можно указать Depth, или и то, и другое DataMember.
Глубина элемента меню определяет уровень меню, который получает привязку. Например, следующее MenuItemBinding объявление привязывает поля имени и идентификатора источника данных к Text свойствам и Value свойствам всех узлов с глубиной 0:
<asp:MenuItemBinding Depth="0" TextField="Name" ValueField="ID">
Элемент данных указывает тип элемента данных в базовом источнике данных, но может представлять разные сведения в зависимости от источника данных. Каждый элемент данных в иерархическом источнике данных (представленный IHierarchyData объектом) предоставляет Type свойство, указывающее тип элемента данных. Например, элемент данных для XML-элемента указывает имя элемента. Если источник данных содержит несколько типов элементов данных, элемент данных указывает, какой тип элемента данных следует использовать. MenuItemBinding Следующее объявление привязывает <Book>
элементы XmlDataSource элемента управления ко всем пунктам меню в меню независимо от расположения в иерархии:
<asp:MenuItemBinding DataMember="Book" TextField="Title" ValueField= "ISBN">
Иногда может потребоваться создать привязку элемента меню, указывающую как глубину, так и элемент данных. Это часто используется, когда источник данных содержит элементы на разных уровнях с одинаковым значением элемента данных. Например, можно иметь <Item>
элементы, которые отображаются на разных уровнях в XML-файле. В следующих MenuItemBinding объявлениях показано, как указать привязки элементов меню, которые применяются к идентичным элементам данных в разных глубинах меню:
<asp:MenuItemBinding DataMember="Item" Depth="1" TextField="Title">
<asp:MenuItemBinding DataMember="Item" Depth="2" TextField="ISBN">
Если привязка элемента меню определена без глубины и элемента данных, привязка пункта меню применяется ко всем пунктам меню в меню. Это обычно используется, если все элементы данных имеют одинаковые свойства и должны отображаться одинаково, независимо от глубины меню.
После установки критериев привязки можно привязать свойство MenuItem объекта, которое может быть привязано к значению. Можно привязать к полю элемента данных или к статическому значению. При привязке к статическому значению все MenuItem объекты, к которым MenuItemBinding применяется объект, имеют одно и то же значение. Свойства, привязанные к полям, содержат значения соответствующего поля из источника данных.
Примечание
Вы можете выборочно переопределить связанное свойство в MenuItem объекте, задав соответствующее свойство напрямую.
В следующей таблице перечислены свойства MenuItemBinding класса, позволяющие привязать свойство MenuItem объекта к полю элемента данных.
Свойство | Описание |
---|---|
ImageUrlField | Поле для привязки MenuItem к свойству ImageUrl объекта. |
NavigateUrlField | Поле для привязки MenuItem к свойству NavigateUrl объекта. |
TextField | Поле для привязки MenuItem к свойству Text объекта. |
ToolTipField | Поле для привязки MenuItem к свойству ToolTip объекта. |
ValueField | Поле для привязки MenuItem к свойству Value объекта. |
В следующей таблице перечислены свойства MenuItemBinding класса, позволяющие привязать свойство MenuItem объекта к статическому значению.
Свойство | Описание |
---|---|
ImageUrl | Статическое значение для привязки к ImageUrl свойство MenuItem объекта. |
NavigateUrl | Статическое значение для привязки к NavigateUrl свойство MenuItem объекта. |
Target | Статическое значение для привязки к Target свойство MenuItem объекта. |
Text | Статическое значение для привязки к Text свойство MenuItem объекта. |
ToolTip | Статическое значение для привязки к ToolTip свойство MenuItem объекта. |
Value | Статическое значение для привязки к Value свойство MenuItem объекта. |
Если определены конфликтующие MenuItemBinding объекты, Menu элемент управления применяет привязки элементов меню в следующем порядке приоритета:
Объект MenuItemBinding , определяющий и соответствующий глубине и члену данных.
Объект MenuItemBinding , определяющий и соответствующий только элементу данных.
Объект MenuItemBinding , определяющий и соответствующий только глубине.
Объект MenuItemBinding , определяющий ни глубину, ни элемент данных. (Этот тип привязки пункта меню применяется ко всем пунктам меню в меню.)
Объект MenuItemBinding , не соответствующий источнику данных. В этом случае значение, возвращаемое методом
ToString()
элемента данных, привязывается к Text элементам меню, Value к которым MenuItemBinding применяется объект.
Класс MenuItemBinding также позволяет отформатировать текст, отображаемый в пункте меню, задав FormatString свойство.
Конструкторы
MenuItemBinding() |
Инициализирует новый экземпляр класса MenuItemBinding. |
Свойства
DataMember |
Получает или задает элемент данных, который необходимо привязать к пункту меню. |
Depth |
Получает или задает глубину меню, на которой применяется объект MenuItemBinding. |
Enabled |
Получает или задает значение, показывающее, включен ли пункт меню, к которому применяется объект MenuItemBinding, что позволяет элементу отображать всплывающее изображение и любые дочерние пункты меню. |
EnabledField |
Получает или задает имя поля из источника данных для привязки к свойству Enabled объекта MenuItem, к которому применяется объект MenuItemBinding. |
FormatString |
Получает или задает строку, определяющую формат отображения текста пункта меню, к которому применяется объект MenuItemBinding. |
ImageUrl |
Получает или задает URL-адрес изображения, отображаемого рядом с текстом пункта меню, к которому применяется объект MenuItemBinding. |
ImageUrlField |
Получает или задает имя поля из источника данных для привязки к свойству ImageUrl объекта MenuItem, к которому применяется объект MenuItemBinding. |
NavigateUrl |
Получает или задает URL-адрес для перехода после щелчка по пункту меню, к которому применяется объект MenuItemBinding. |
NavigateUrlField |
Получает или задает имя поля из источника данных для привязки к свойству NavigateUrl объекта MenuItem, к которому применяется объект MenuItemBinding. |
PopOutImageUrl |
Получает или задает URL-адрес изображения, указывающего на наличие динамического подменю для пункта меню, к которому применяется объект MenuItemBinding. |
PopOutImageUrlField |
Получает или задает имя поля из источника данных для привязки к свойству PopOutImageUrl объекта MenuItem, к которому применяется объект MenuItemBinding. |
Selectable |
Получает или задает значение, позволяющее определить, можно ли выбрать пункт меню, к которому применяется объект MenuItemBinding, т.е. является ли он "активным". |
SelectableField |
Получает или задает имя поля из источника данных для привязки к свойству Selectable объекта MenuItem, к которому применяется объект MenuItemBinding. |
SeparatorImageUrl |
Получает или задает URL-адрес изображения, отображаемого под текстом пункта меню (чтобы отделить его от других пунктов меню) для пункта меню, к которому применяется объект MenuItemBinding. |
SeparatorImageUrlField |
Получает или задает имя поля из источника данных для привязки к свойству SeparatorImageUrl объекта MenuItem, к которому применяется объект MenuItemBinding. |
Target |
Получает или задает целевое окно или фрейм для отображения содержимого веб-страницы, связанной с пунктом меню, к которому применяется объект MenuItemBinding. |
TargetField |
Получает или задает имя поля из источника данных для привязки к свойству Target объекта MenuItem, к которому применяется объект MenuItemBinding. |
Text |
Получает или задает текст, отображаемый для пункта меню, к которому применяется объект MenuItemBinding. |
TextField |
Получает или задает имя поля из источника данных для привязки к свойству Text объекта MenuItem, к которому применяется объект MenuItemBinding. |
ToolTip |
Получает или задает текст подсказки для пункта меню, к которому применяется объект MenuItemBinding. |
ToolTipField |
Получает или задает имя поля из источника данных для привязки к свойству ToolTip объекта MenuItem, к которому применяется объект MenuItemBinding. |
Value |
Получает или задает неотображаемое значение, которое используется для хранения любых дополнительных данных о пункте меню, к которому применяется объект MenuItemBinding, например, данных, которые используются для обработки событий обратной передачи. |
ValueField |
Получает или задает имя поля из источника данных для привязки к свойству Value объекта MenuItem, к которому применяется объект MenuItemBinding. |
Методы
Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
GetType() |
Возвращает объект Type для текущего экземпляра. (Унаследовано от Object) |
MemberwiseClone() |
Создает неполную копию текущего объекта Object. (Унаследовано от Object) |
ToString() |
Возвращает строку, представляющую текущий объект. |
Явные реализации интерфейса
ICloneable.Clone() |
Создает копию объекта MenuItemBinding. |
IDataSourceViewSchemaAccessor.DataSourceViewSchema |
Описание этого члена см. в разделе DataSourceViewSchema. |
IStateManager.IsTrackingViewState |
Возвращает значение, указывающее, сохраняет ли объект MenuItemBinding изменения в состоянии просмотра. |
IStateManager.LoadViewState(Object) |
Загружает предварительно сохраненное состояние представления узла. |
IStateManager.SaveViewState() |
Сохраняет изменения состояния представления в объекте Object. |
IStateManager.TrackViewState() |
Выдает объекту MenuItemBinding инструкции отслеживать изменения в его состоянии представления. |
Применяется к
См. также раздел
- Menu
- MenuItem
- MenuItemBindingCollection
- AccessDataSource
- ObjectDataSource
- SiteMapDataSource
- SqlDataSource
- XmlDataSource
- DataBindings
- DataMember
- Depth
- FormatString
- ImageUrl
- ImageUrl
- ImageUrlField
- NavigateUrl
- NavigateUrl
- NavigateUrlField
- Target
- Text
- Text
- TextField
- ToolTip
- ToolTip
- ToolTipField
- Value
- ValueField