다음을 통해 공유


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 만들 때 바인딩 조건을 지정해야 합니다. 조건은 데이터 항목을 메뉴 항목에 바인딩해야 하는 시기를 나타냅니다. 속성, DataMember 속성 또는 둘 다를 지정할 Depth 수 있습니다.

개체를 Depth 적용 MenuItemBinding 할 메뉴 깊이를 지정하려면 이 속성을 사용합니다. 예를 들어 다음 선언은 MenuItemBinding 데이터 원본 Text 의 이름 및 ID 필드를 각각 깊이가 0인 모든 메뉴 항목의 속성과 Value 속성에 바인딩합니다.

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

경우에 따라 깊이와 데이터 멤버를 모두 지정하는 메뉴 항목 바인딩을 만들어야 할 수 있습니다. 데이터 원본에 동일한 데이터 멤버 값이 있는 다른 수준의 항목이 포함된 경우에 자주 사용됩니다. 예를 들어 XML 파일 내에서 다른 수준에 나타나는 요소를 가질 <Item> 수 있습니다. 다음 MenuItemBinding 선언에서는 다른 메뉴 깊이에서 동일한 데이터 멤버에 적용되는 메뉴 항목 바인딩을 지정하는 방법을 보여 줍니다.

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

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

깊이 및 데이터 멤버 없이 메뉴 항목 바인딩을 정의하면 메뉴 항목 바인딩이 메뉴 내의 모든 메뉴 항목에 적용됩니다. 이는 일반적으로 모든 데이터 항목에 동일한 속성이 있고 메뉴 깊이에 관계없이 동일하게 표시되어야 하는 경우에 사용됩니다.

바인딩 조건이 설정된 후 값에 바인딩할 수 있는 MenuItem 개체의 속성을 바인딩할 수 있습니다. 데이터 항목의 필드 또는 정적 값에 바인딩할 수 있습니다. 정적 값에 바인딩된 경우 개체가 MenuItemBinding 적용되는 모든 MenuItem 개체는 동일한 값을 공유합니다. 필드에 바인딩된 속성에는 데이터 원본의 필드 값이 포함됩니다.

충돌하는 MenuItemBinding 개체가 정의되면 컨트롤은 Menu 메뉴 항목 바인딩을 다음 우선 순위 순서로 적용합니다.

  1. MenuItemBinding 깊이와 데이터 멤버를 정의하고 일치하는 개체입니다.

  2. MenuItemBinding 데이터 멤버만 정의하고 일치하는 개체입니다.

  3. MenuItemBinding 깊이만 정의하고 일치하는 개체입니다.

  4. MenuItemBinding 깊이나 데이터 멤버를 정의하지 않는 개체입니다. (이 유형의 메뉴 항목 바인딩은 메뉴의 모든 메뉴 항목에 적용됩니다.)

  5. MenuItemBinding 데이터 원본에 일치하는 항목이 없는 개체입니다. 이 경우 데이터 항목의 메서드에서 반환된 ToString() 값은 개체가 적용되는 메뉴 항목의 속성 및 Value 값에 MenuItemBinding 바인딩 Text 됩니다.

적용 대상

추가 정보