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 объявление привязывает поля name и ID источника данных к 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 | Статическое значение для привязки MenuItem к ImageUrl свойству объекта. |
| NavigateUrl | Статическое значение для привязки MenuItem к NavigateUrl свойству объекта. |
| Target | Статическое значение для привязки MenuItem к Target свойству объекта. |
| Text | Статическое значение для привязки MenuItem к Text свойству объекта. |
| ToolTip | Статическое значение для привязки MenuItem к ToolTip свойству объекта. |
| Value | Статическое значение для привязки MenuItem к Value свойству объекта. |
Если определены конфликтующие 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