Aracılığıyla paylaş


MenuItemBinding Sınıf

Tanım

Bir veri öğesi ile denetimde Menu bağlandığı menü öğesi arasındaki ilişkiyi 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 düzgün çalışması için aşağıdaki örnek XML verilerini Menu.xmladlı 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 örneğe ilişkin ö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), 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.

Uyarı

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 oluştururken MenuItemBinding bağlama ölçütlerini belirtmeniz gerekir. Ölçütler, bir veri öğesinin bir menü öğesine ne zaman bağlanması gerektiğini belirtir. , DataMemberveya her 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 (nesneyle IHierarchyData 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ğlı olduğunda, nesnenin MenuItemBinding uygulandığı tüm MenuItem nesneler aynı değeri paylaşır. Alanlarla ilişkili özellikler, veri kaynağından karşılık gelen alanın değerlerini içerir.

Uyarı

İlgili özelliği doğrudan ayarlayarak nesnedeki bir MenuItem 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.

Mülkiyet 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.

Mülkiyet 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ımlanırsa, Menu denetim menü öğesi bağlamalarını aşağıdaki öncelik sırasına göre uygular:

  1. Hem MenuItemBinding derinlik hem de veri üyesini tanımlayan ve eşleştiren nesne.

  2. Yalnızca MenuItemBinding 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.

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

Oluşturucular

Name Description
MenuItemBinding()

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

Özellikler

Name Description
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 görüntü ve alt menü öğeleri görüntülemesine izin verir.

EnabledField

Veri kaynağından, nesnenin uygulandığı nesnenin MenuItem özelliğine bağlamak için EnabledMenuItemBinding 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 özelliğine bağlamak için ImageUrlMenuItemBinding 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 MenuItem özelliğine bağlamak için NavigateUrlMenuItemBinding 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 MenuItem özelliğine bağlamak için PopOutImageUrlMenuItemBinding alanın adını alır veya ayarlar.

Selectable

Nesnenin uygulandığı menü öğesinin MenuItemBinding seçilip seçilemeyeceğini veya "tıklanabilir" olup olmadığını gösteren bir değer alır veya ayarlar.

SelectableField

Veri kaynağından, nesnenin uygulandığı nesnenin MenuItem özelliğine bağlamak için SelectableMenuItemBinding alanın adını alır veya ayarlar.

SeparatorImageUrl

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

SeparatorImageUrlField

Veri kaynağından, nesnenin uygulandığı nesnenin MenuItem özelliğine bağlamak için SeparatorImageUrlMenuItemBinding 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 MenuItem özelliğine bağlamak için TargetMenuItemBinding 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 MenuItem özelliğine bağlamak için TextMenuItemBinding alanın adını alır veya ayarlar.

ToolTip

Nesnenin uygulandığı menü öğesi MenuItemBinding için Araç İpucu metnini alır veya ayarlar.

ToolTipField

Veri kaynağından, nesnenin uygulandığı nesnenin MenuItem özelliğine bağlamak için ToolTipMenuItemBinding alanın adını alır veya ayarlar.

Value

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

ValueField

Veri kaynağından, nesnenin uygulandığı nesnenin MenuItem özelliğine bağlamak için ValueMenuItemBinding alanın adını alır veya ayarlar.

Yöntemler

Name Description
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()

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

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

Geçerli Objectbasit bir kopyasını oluşturur.

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

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

Belirtik Arabirim Kullanımları

Name Description
ICloneable.Clone()

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