MenuItemBinding Sınıf

Tanım

Denetimde bir veri öğesiyle bağlandığı menü öğesi arasındaki ilişkiyi Menu tanımlar. Bu sınıf devralınamaz.

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
Devralma
MenuItemBinding
Uygulamalar

Örnekler

Aşağıdaki kod örneği, bir denetimin alanları ile denetimdeki XmlDataSource menü öğeleri Menu arasındaki ilişkiyi tanımlamak için nesnelerin nasıl kullanılacağını MenuItemBinding gösterir. Bu örneğin doğru çalışması için aşağıdaki örnek XML verilerini Menu.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 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>

Aşağıdaki kod, önceki örnek için örnek site haritası verileridir.

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

Açıklamalar

Denetim, her veri öğesinin Menu birden çok alan içerdiği bir veri kaynağına bağlı olduğunda (çeşitli özniteliklere sahip bir XML öğesi gibi), hiçbir menü öğesi bağlaması tanımlanmadıysa, menü öğesi varsayılan olarak veri öğesinin yöntemi tarafından ToString() döndürülen değeri görüntüler. XML öğesi söz konusu olduğunda, menü öğesi menünün temel yapısını gösteren öğe adını görüntüler, ancak aksi takdirde çok kullanışlı değildir. Menü öğesi bağlamalarını belirterek menü öğesinin özelliklerini belirli bir alana bağlayabilirsiniz. Nesne MenuItemBinding , her veri öğesiyle bağlandığı menü öğesi arasındaki ilişkiyi tanımlar.

Not

Menu Denetim bir SiteMapDataSource denetime bağlı olduğunda, menü öğesi bağlamalarının hiçbir etkisi olmaz. Bağlama, site haritası sağlayıcısı kullanılarak otomatik olarak gerçekleştirilir.

DenetimMenu, nesnelerini özelliğinde DataBindings depolar MenuItemBinding ve menü hiyerarşisi ile veri kaynağı hiyerarşisi arasında bire bir ilişki oluşturmak için bağlamaları veri kaynağına uygular. Veri kaynağındaki her veri öğesi için denetim, Menu ilgili MenuItem nesneyi oluşturmak için veri öğesini bir MenuItemBinding nesneyle eşleştirmeyi dener.

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

Menü öğesi derinliği, bağlanan menü düzeyini belirtir. Ö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 düğümlerin ve Value özelliklerine bağlar:

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

Veri üyesi, temel alınan veri kaynağındaki veri öğesinin türünü belirtir, ancak veri kaynağına bağlı olarak farklı bilgileri temsil edebilir. Hiyerarşik veri kaynağındaki (bir IHierarchyData nesneyle temsil edilen) her veri öğesi, veri öğesinin türünü belirten bir Type özelliği kullanıma sunar. Örneğin, bir XML öğesinin veri üyesi öğenin adını belirtir. Bir veri kaynağı birden çok veri öğesi türü içerdiğinde, veri üyesi hangi veri öğesi türünün kullanılacağını belirtir. Aşağıdaki MenuItemBinding bildirim, hiyerarşideki <Book> konumdan bağımsız olarak denetimin XmlDataSource öğelerini menüdeki tüm menü öğelerine bağlar:

<asp:MenuItemBinding DataMember="Book" TextField="Title" ValueField= "ISBN">  

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 MenuItem nesnenin bir değere bağlanabilecek bir özelliğini bağlayabilirsiniz. Bir veri öğesinin alanına veya statik bir değere bağlayabilirsiniz. Statik bir değere bağlanıldığında, nesnenin MenuItemBinding uygulandığı tüm MenuItem nesneler aynı değeri paylaşır. Alanlara bağlı özellikler, veri kaynağından karşılık gelen alanın değerlerini içerir.

Not

İlgili özelliği doğrudan ayarlayarak bir MenuItem nesnedeki ilişkili özelliği seçmeli olarak geçersiz kılabilirsiniz.

Aşağıdaki tabloda, nesnesinin MenuItemBinding bir özelliğini MenuItem bir veri öğesinin alanına bağlamanıza olanak sağlayan sınıfın özellikleri listelenir.

Özellik Açıklama
ImageUrlField Bir nesnenin ImageUrl özelliğine MenuItem bağlanacak alan.
NavigateUrlField Bir nesnenin NavigateUrl özelliğine MenuItem bağlanacak alan.
TextField Bir nesnenin Text özelliğine MenuItem bağlanacak alan.
ToolTipField Bir nesnenin ToolTip özelliğine MenuItem bağlanacak alan.
ValueField Bir nesnenin Value özelliğine MenuItem bağlanacak alan.

Aşağıdaki tabloda, nesnesinin MenuItemBinding bir özelliğini statik bir değere bağlamanıza olanak sağlayan sınıfın MenuItem özellikleri listelenir.

Özellik Açıklama
ImageUrl Bir nesnenin ImageUrl özelliğine MenuItem bağlanacak statik değer.
NavigateUrl Bir nesnenin NavigateUrl özelliğine MenuItem bağlanacak statik değer.
Target Bir nesnenin Target özelliğine MenuItem bağlanacak statik değer.
Text Bir nesnenin Text özelliğine MenuItem bağlanacak statik değer.
ToolTip Bir nesnenin ToolTip özelliğine MenuItem bağlanacak statik değer.
Value Bir nesnenin Value özelliğine MenuItem bağlanacak statik değer.

Ç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ştiren nesne.

  2. Yalnızca MenuItemBinding veri üyesini tanımlayan ve eşleştiren 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ğlanır.

sınıfı, MenuItemBinding özelliğini ayarlayarak FormatString menü öğesinde görüntülenen metni biçimlendirmenize de olanak tanır.

Oluşturucular

MenuItemBinding()

MenuItemBinding sınıfının yeni bir örneğini başlatır.

Özellikler

DataMember

Veri üyesini bir menü öğesine bağlanacak şekilde alır veya ayarlar.

Depth

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

Enabled

Nesnenin uygulandığı menü öğesinin MenuItemBinding etkinleştirilip etkinleştirilmediğini belirten bir değer alır veya ayarlar; böylece öğenin bir açılır resim ve alt menü öğeleri görüntülemesine izin verir.

EnabledField

Veri kaynağından nesnenin uygulandığı nesnenin MenuItem MenuItemBinding özelliğine Enabled bağlanacak alanın adını alır veya ayarlar.

FormatString

Nesnenin uygulandığı menü öğesinin metni için görüntüleme biçimini belirten dizeyi MenuItemBinding alır veya ayarlar.

ImageUrl

Nesnenin uygulandığı menü öğesinin metninin yanında görüntülenen görüntünün URL'sini MenuItemBinding alır veya ayarlar.

ImageUrlField

Veri kaynağından nesnenin uygulandığı nesnenin MenuItem MenuItemBinding özelliğine ImageUrl bağlanacak alanın adını alır veya ayarlar.

NavigateUrl

Nesnenin uygulandığı menü öğesine tıklandığında bağlanılacak URL'yi MenuItemBinding alır veya ayarlar.

NavigateUrlField

Veri kaynağından nesnenin uygulandığı nesnenin MenuItemBinding özelliğine MenuItem bağlanacak NavigateUrl alanın adını alır veya ayarlar.

PopOutImageUrl

Nesnenin uygulandığı menü öğesinin dinamik alt menüsünün varlığını gösteren bir görüntünün URL'sini MenuItemBinding alır veya ayarlar.

PopOutImageUrlField

Veri kaynağından nesnenin uygulandığı nesnenin MenuItemBinding özelliğine MenuItem bağlanacak PopOutImageUrl alanın adını alır veya ayarlar.

Selectable

Nesnenin uygulandığı menü öğesinin MenuItemBinding seçilip seçilemeyeceğini veya "tıklanabilir" olduğunu belirten bir değer alır veya ayarlar.

SelectableField

Veri kaynağından nesnenin uygulandığı nesnenin MenuItemBinding özelliğine MenuItem bağlanacak Selectable alanın adını alır veya ayarlar.

SeparatorImageUrl

Nesnenin uygulandığı menü öğesi için menü öğesinin metninin altında görüntülenen görüntünün URL'sini alır veya ayarlar (diğer menü MenuItemBinding öğelerinden ayırmak için).

SeparatorImageUrlField

Veri kaynağından nesnenin uygulandığı nesnenin MenuItemBinding özelliğine MenuItem bağlanacak SeparatorImageUrl alanın adını alır veya ayarlar.

Target

Nesnenin uygulandığı menü öğesiyle ilişkili Web sayfası içeriğinin görüntüleneceği hedef pencereyi veya çerçeveyi MenuItemBinding alır veya ayarlar.

TargetField

Veri kaynağından nesnenin uygulandığı nesnenin MenuItemBinding özelliğine MenuItem bağlanacak Target alanın adını alır veya ayarlar.

Text

Nesnenin uygulandığı menü öğesi MenuItemBinding için görüntülenen metni alır veya ayarlar.

TextField

Veri kaynağından nesnenin uygulandığı nesnenin MenuItemBinding özelliğine MenuItem bağlanacak Text alanın adını alır veya ayarlar.

ToolTip

Nesnenin uygulandığı menü öğesinin MenuItemBinding ToolTip metnini alır veya ayarlar.

ToolTipField

Veri kaynağından nesnenin uygulandığı nesnenin MenuItem MenuItemBinding özelliğine ToolTip bağlanacak alanın adını alır veya ayarlar.

Value

Geri gönderme olaylarını işlemek için kullanılan veriler gibi nesnenin uygulandığı menü öğesiyle ilgili ek verileri depolamak için kullanılan, oynatılmayan MenuItemBinding bir değeri alır veya ayarlar.

ValueField

Veri kaynağından nesnenin uygulandığı nesnenin MenuItem MenuItemBinding özelliğine Value bağlanacak alanın adını alır veya ayarlar.

Yöntemler

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.

Belirtik Arabirim Kullanımları

ICloneable.Clone()

Nesnesinin bir kopyasını MenuItemBinding oluşturur.

IDataSourceViewSchemaAccessor.DataSourceViewSchema

Bu üyenin açıklaması için bkz DataSourceViewSchema. .

IStateManager.IsTrackingViewState

Nesnenin MenuItemBinding görünüm durumundaki değişiklikleri kaydedip kaydetmediğini gösteren bir değer alır.

IStateManager.LoadViewState(Object)

Düğümün daha önce kaydedilmiş görünüm durumunu yükler.

IStateManager.SaveViewState()

Görünüm durumu değişikliklerini bir Objectolarak kaydeder.

IStateManager.TrackViewState()

Nesneye görünüm durumundaki MenuItemBinding değişiklikleri izlemesini bildirir.

Şunlara uygulanır

Ayrıca bkz.