Aracılığıyla paylaş


MenuItemBinding.Depth Özellik

Tanım

Nesnenin uygulandığı menü derinliğini MenuItemBinding alır veya ayarlar.

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

Özellik Değeri

Int32

öğesinin MenuItemBinding uygulandığı menü derinliği. Bu özelliğin ayarlanmadığını gösteren -1 varsayılan değeridir.

Öznitelikler

Örnekler

Aşağıdaki kod örneği, nesnesinin Depth uygulanacağı MenuItemBinding menü derinliğini belirtmek için özelliğinin nasıl kullanılacağını gösterir. Bu örneğin düzgün çalışması için aşağıdaki örnek XML verilerini MenuDepth.xml adlı bir dosyaya kopyalamanız gerekir.


<%@ 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>

Aşağıdaki kod, önceki örnekteki örnek site haritası verileridir.

<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>

Açıklamalar

Nesne MenuItemBinding oluştururken bağlama ölçütlerini belirtmeniz gerekir. Ölçütler, bir veri öğesinin bir menü öğesine ne zaman bağlanması gerektiğini gösterir. özelliğini, DataMember özelliğini veya her ikisini de belirtebilirsinizDepth.

nesnesinin Depth uygulanacağı MenuItemBinding menü derinliğini belirtmek için özelliğini kullanın. Örneğin, aşağıdaki MenuItemBinding bildirim veri kaynağının Text Ad ve Kimlik alanlarını sırasıyla 0 derinliğine sahip tüm menü öğelerinin ve Value özelliklerine bağlar:

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

Bazen hem derinliği hem de veri üyesini belirten bir menü öğesi bağlaması oluşturmanız gerekebilir. Bu genellikle veri kaynağı aynı veri üyesi değerine sahip farklı düzeylerde öğeler içerdiğinde kullanılır. Örneğin, bir XML dosyası içinde farklı düzeylerde görünen öğeleriniz olabilir <Item> . Aşağıdaki MenuItemBinding bildirimler, farklı menü derinliklerinde özdeş veri üyeleri için geçerli olan menü öğesi bağlamalarının nasıl belirtileceğini gösterir:

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

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

Bir menü öğesi bağlaması derinlik ve veri üyesi olmadan tanımlanırsa, menü öğesi bağlaması menüdeki tüm menü öğelerine uygulanır. Bu genellikle tüm veri öğeleri aynı özelliklere sahip olduğunda kullanılır ve menü derinliğinden bağımsız olarak aynı şekilde görüntülenmelidir.

Bağlama ölçütleri oluşturulduktan sonra, bir değere bağlanabilen bir MenuItem nesnenin özelliğini bağlayabilirsiniz. Bir veri öğesinin alanına veya statik bir değere bağlayabilirsiniz. Statik bir değere bağlıyken, nesnenin MenuItemBinding uygulandığı tüm MenuItem nesneler aynı değeri paylaşır. Alanlara bağlı özellikler, veri kaynağındaki alanın değerlerini içerir.

Çakışan MenuItemBinding nesneler tanımlanmışsa, Menu denetim menü öğesi bağlamalarını aşağıdaki öncelik sırasına göre uygular:

  1. Hem MenuItemBinding derinliği hem de veri üyesini tanımlayan ve eşleşen nesne.

  2. MenuItemBinding Yalnızca veri üyesini tanımlayan ve eşleşen nesne.

  3. Yalnızca MenuItemBinding derinliği tanımlayan ve eşleşen nesne.

  4. Derinliği MenuItemBinding veya veri üyesini tanımlayan nesne. (Bu tür bir menü öğesi bağlaması, menüdeki tüm menü öğelerine uygulanır.)

  5. MenuItemBinding Veri kaynağında eşleşmesi olmayan nesne. Bu durumda, veri öğesinin ToString() yöntemi tarafından döndürülen değer, nesnenin Text uygulandığı menü öğelerinin ve Value özelliklerine MenuItemBinding bağlıdır.

Şunlara uygulanır

Ayrıca bkz.