MenuItemBinding.Depth Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Получает или задает глубину меню, на которой применяется объект MenuItemBinding.
public:
property int Depth { int get(); void set(int value); };
[System.ComponentModel.TypeConverter("System.Web.UI.Design.WebControls.TreeNodeBindingDepthConverter, System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
public int Depth { get; set; }
[System.ComponentModel.TypeConverter("System.Web.UI.Design.WebControls.TreeNodeBindingDepthConverter, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
public int Depth { get; set; }
[<System.ComponentModel.TypeConverter("System.Web.UI.Design.WebControls.TreeNodeBindingDepthConverter, System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")>]
member this.Depth : int with get, set
[<System.ComponentModel.TypeConverter("System.Web.UI.Design.WebControls.TreeNodeBindingDepthConverter, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")>]
member this.Depth : int with get, set
Public Property Depth As Integer
Значение свойства
Глубина меню, на которой применяется объект MenuItemBinding. По умолчанию используется значение -1, указывающее, что это свойство не задано.
- Атрибуты
Примеры
В следующем примере кода показано, как использовать Depth свойство для указания глубины меню, к которой применяется MenuItemBinding объект . Чтобы этот пример работал правильно, необходимо скопировать приведенный ниже пример XML-данных в файл с именем MenuDepth.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 Depth Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>MenuItemBinding Depth Example</h3>
<asp:menu id="NavigationMenu"
datasourceid="MenuSource"
runat="server">
<databindings>
<asp:menuitembinding depth="0"
textfield="Title"
valuefield="Description"
imageurlfield="ImageUrl"
tooltipfield="ToolTip"
target="_self" />
<asp:menuitembinding depth="1"
textfield="Title"
valuefield="Description"
imageurlfield="ImageUrl"
tooltipfield="ToolTip"
target="_blank"/>
<asp:menuitembinding depth="2"
textfield="Title"
valuefield="Description"
imageurlfield="ImageUrl"
tooltipfield="ToolTip"
target="_blank"/>
</databindings>
</asp:menu>
<asp:xmldatasource id="MenuSource"
datafile="MenuDepth.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 Depth Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>MenuItemBinding Depth Example</h3>
<asp:menu id="NavigationMenu"
datasourceid="MenuSource"
runat="server">
<databindings>
<asp:menuitembinding depth="0"
textfield="Title"
valuefield="Description"
imageurlfield="ImageUrl"
tooltipfield="ToolTip"
target="_self" />
<asp:menuitembinding depth="1"
textfield="Title"
valuefield="Description"
imageurlfield="ImageUrl"
tooltipfield="ToolTip"
target="_blank"/>
<asp:menuitembinding depth="2"
textfield="Title"
valuefield="Description"
imageurlfield="ImageUrl"
tooltipfield="ToolTip"
target="_blank"/>
</databindings>
</asp:menu>
<asp:xmldatasource id="MenuSource"
datafile="MenuDepth.xml"
runat="server"/>
</form>
</body>
</html>
Следующий код представляет собой пример данных карты сайта для предыдущего примера.
<MapNode 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>
</MapNode>
Комментарии
При создании MenuItemBinding объекта необходимо указать критерии для привязки. Условия указывают, когда элемент данных должен быть привязан к элементу меню. Можно указать Depth свойство, свойство или и то, и другое DataMember .
Используйте свойство , Depth чтобы указать глубину меню для применения MenuItemBinding объекта . Например, следующее MenuItemBinding объявление привязывает поля Name и ID источника данных к Text свойствам и Value соответственно всех элементов меню с глубиной 0:
<asp:MenuItemBinding Depth="0" TextField="Name" ValueField="ID">
Иногда может потребоваться создать привязку элемента меню, которая задает как глубину, так и элемент данных. Это часто используется, когда источник данных содержит элементы на разных уровнях с одинаковым значением элемента данных. Например, можно иметь <Item>
элементы, которые отображаются на разных уровнях в XML-файле. В следующих MenuItemBinding объявлениях показано, как указать привязки элементов меню, которые применяются к идентичным элементам данных с разными глубинами меню.
<asp:MenuItemBinding DataMember="Item" Depth="1" TextField="Title">
<asp:MenuItemBinding DataMember="Item" Depth="2" TextField="ISBN">
Если привязка элемента меню определена без глубины и элемента данных, привязка элемента меню применяется ко всем пунктам меню в меню. Это обычно используется, когда все элементы данных имеют одинаковые свойства и должны отображаться одинаково, независимо от глубины меню.
После установки критериев привязки можно привязать свойство MenuItem объекта , которое можно привязать к значению. Можно привязать к полю элемента данных или к статическому значению. При привязке к статическому значению все MenuItem объекты, к которым MenuItemBinding применяется объект, имеют одно и то же значение. Свойства, привязанные к полям, содержат значения поля из источника данных.
Если определены конфликтующие MenuItemBinding объекты, Menu элемент управления применяет привязки элементов меню в следующем порядке приоритета:
Объект MenuItemBinding , который определяет и соответствует глубине и элементу данных.
Объект MenuItemBinding , который определяет и соответствует только элементу данных.
Объект MenuItemBinding , определяющий и соответствующий только глубине.
Объект MenuItemBinding , который не определяет ни глубину, ни элемент данных. (Этот тип привязки элементов меню применяется ко всем пунктам меню в меню.)
Объект MenuItemBinding , который не имеет соответствия в источнике данных. В этом случае значение, возвращаемое методом
ToString()
элемента данных, затем привязывается к Text свойствам и Value элементов меню, к которым MenuItemBinding применяется объект .