MenuItemBinding.Depth 속성

정의

MenuItemBinding 개체가 적용되는 메뉴 수준을 가져오거나 설정합니다.Gets or sets the menu depth to which the MenuItemBinding object is applied.

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; }
member this.Depth : int with get, set
Public Property Depth As Integer

속성 값

MenuItemBinding이 적용되는 메뉴 수준입니다.The menu depth to which the MenuItemBinding is applied. 기본값은 -1로, 이 속성이 설정되지 않았음을 나타냅니다.The default is -1, which indicates that this property is not set.

특성

예제

다음 코드 예제를 사용 하는 방법에 설명 합니다 Depth 적용 하는 메뉴 수준을 지정 하는 속성을 MenuItemBinding 개체입니다.The following code example demonstrates how to use the Depth property to specify the menu depth at which to apply a MenuItemBinding object. 제대로 작동 하려면이 예제에서는 MenuDepth.xml 라는 파일에 아래 샘플 XML 데이터를 복사 해야 합니다.For this example to work correctly, you must copy the sample XML data below to a file named 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>

다음 코드는 이전 예제에 대 한 사이트 맵 데이터 샘플입니다.The following code is sample site map data for the previous example.

<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 개체 바인딩에 대 한 조건을 지정 해야 합니다.When creating a MenuItemBinding object, you must specify the criteria for binding. 기준은 데이터 항목을 메뉴 항목에 바인딩해야 하는 시기를 나타냅니다.The criteria indicate when a data item should be bound to a menu item. 지정할 수 있습니다 합니다 Depth 속성을 DataMember 속성 또는 둘 다.You can specify the Depth property, the DataMember property, or both.

사용 하 여 합니다 Depth 속성을 적용 하는 메뉴 수준을 지정 합니다 MenuItemBinding 개체입니다.Use the Depth property to specify the menu depth at which to apply the MenuItemBinding object. 예를 들어, 다음 MenuItemBinding 선언을 데이터 원본의 이름 및 ID 필드를 바인딩하는 TextValue 속성을 각각 0는 깊이 사용 하 여 모든 메뉴 항목의:For example, the following MenuItemBinding declaration binds the Name and ID fields of the data source to the Text and Value properties, respectively, of all menu items with a depth of 0:

<asp:MenuItemBinding Depth="0" TextField="Name" ValueField="ID">  

경우에 따라 수준과 데이터 멤버를 둘 다 지정 하는 메뉴 항목 바인딩을 만드는 해야 합니다.Sometimes you might need to create a menu item binding that specifies both a depth and a data member. 이 데이터 원본에서 동일한 데이터 멤버 값을 가진 다른 수준에서 항목을 포함 하는 경우 자주 사용 됩니다.This is often used when the data source contains items at different levels that have the same data member value. 예를 들어, 있습니다 <Item> XML 파일 내의 다른 수준에 표시 되는 요소입니다.For example, you can have <Item> elements that appear at different levels within an XML file. 다음 MenuItemBinding 선언에는 서로 다른 메뉴 수준에서 멤버를 동일한 데이터에 적용 되는 메뉴 항목 바인딩을 지정 하는 방법을 보여 줍니다.The following MenuItemBinding declarations show how to specify menu item bindings that apply to identical data members at different menu depths:

<asp:MenuItemBinding DataMember="Item" Depth="1" TextField="Title">

<asp:MenuItemBinding DataMember="Item" Depth="2" TextField="ISBN">

메뉴 항목 바인딩의 수준과 데이터 멤버 없이 정의 된 경우 메뉴 항목 바인딩의 메뉴 내에서 모든 메뉴 항목에 적용 됩니다.If a menu item binding is defined without a depth and a data member, the menu item binding is applied to all menu items within the menu. 이 모든 데이터 항목의 동일한 속성 및 메뉴 수준에 관계 없이 동일 하 게 표시 해야 하는 경우에 흔히 사용 됩니다.This is commonly used when all data items have the same properties and should be displayed identically, regardless of the menu depth.

바인딩 기준에 설정 된 후의 속성을 다음 바인딩할 수 있습니다는 MenuItem 값에 바인딩할 수 있는 개체입니다.After the binding criteria are established, you can then bind a property of a MenuItem object that can be bound to a value. 정적 값 또는 데이터 항목의 필드에 바인딩할 수 있습니다.You can bind to a field of a data item or to a static value. 정적 값으로 바인딩된 경우 모든 MenuItem 는 개체는 MenuItemBinding 개체가 적용 된 동일한 값을 공유 합니다.When bound to a static value, all MenuItem objects to which the MenuItemBinding object is applied share the same value. 속성 필드에 바인딩된 데이터 원본의 필드의 값을 포함 합니다.Properties bound to fields contain the values of the field from the data source.

충돌 하는 경우 MenuItemBinding 개체가 정의 되는 Menu 컨트롤에는 다음 우선 순위에 있는 메뉴 항목 바인딩의 적용 됩니다.If conflicting MenuItemBinding objects are defined, the Menu control applies the menu item bindings in the following order of precedence:

  1. MenuItemBinding 정의 하 고 수준과 데이터 멤버를 둘 다 일치 하는 개체입니다.The MenuItemBinding object that defines and matches both a depth and a data member.

  2. MenuItemBinding 정의 하 고 데이터 멤버를 사용할 경우에 일치 하는 개체입니다.The MenuItemBinding object that defines and matches the data member only.

  3. MenuItemBinding 정의 하 고만 일치 하는 개체입니다.The MenuItemBinding object that defines and matches the depth only.

  4. MenuItemBinding 깊이 아니고 데이터 멤버를 정의 하는 개체입니다.The MenuItemBinding object that defines neither the depth nor the data member. (메뉴 항목 바인딩의이 유형은 메뉴에서 모든 메뉴 항목에 적용 됩니다.)(This type of menu item binding is applied to all menu items in the menu.)

  5. MenuItemBinding 데이터 소스의 일치 하는 항목이 없는 개체입니다.The MenuItemBinding object that does not have a match in the data source. 이 경우, 값을 반환한를 ToString() 메서드의 데이터 항목을 바인딩할를 TextValue 는 메뉴 항목의 속성을 MenuItemBinding 개체가 적용 된.In this case, the value returned by the ToString() method of the data item is then bound to the Text and Value properties of the menu items to which the MenuItemBinding object is applied.

적용 대상

추가 정보