Aracılığıyla paylaş


MenuItem Sınıf

Tanım

Denetimde Menu görüntülenen menü öğesini temsil eder. Bu sınıf devralınamaz.

public ref class MenuItem sealed : ICloneable, System::Web::UI::IStateManager
public sealed class MenuItem : ICloneable, System.Web.UI.IStateManager
type MenuItem = class
    interface IStateManager
    interface ICloneable
Public NotInheritable Class MenuItem
Implements ICloneable, IStateManager
Devralma
MenuItem
Uygulamalar

Örnekler

Aşağıdaki örnek, bildirim temelli söz dizimi kullanarak bir Menu denetimin statik MenuItem nesnelerle nasıl doldurulduğunu gösterir.


<%@ 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>MenuItem Declarative Example</title>
</head>
<body>
    <form id="form1" runat="server">
    
      <h3>MenuItem Declarative Example</h3>
    
      <!-- Use declarative syntax to create the   -->
      <!-- menu structure. Create submenu items   -->
      <!-- by nesting them within parent menu     -->
      <!-- items.                                 -->
      <asp:menu id="NavigationMenu"
        staticdisplaylevels="1"
        staticsubmenuindent="10" 
        orientation="Vertical" 
        target="_blank"  
        runat="server">

        <items>
          <asp:menuitem navigateurl="Home.aspx" 
            text="Home"
            imageurl="Images\Home.gif"
            popoutimageurl="Images\Popout.jpg"   
            tooltip="Home">
            <asp:menuitem navigateurl="Music.aspx"
              text="Music"
              popoutimageurl="Images\Popout.jpg"
              tooltip="Music">
              <asp:menuitem navigateurl="Classical.aspx" 
                text="Classical"
                separatorimageurl="Images\Separator.jpg"
                tooltip="Classical"/>
              <asp:menuitem navigateurl="Rock.aspx"
                text="Rock"
                separatorimageurl="Images\Separator.jpg"
                tooltip="Rock"/>
              <asp:menuitem navigateurl="Jazz.aspx"
                text="Jazz"
                separatorimageurl="Images\Separator.jpg"
                tooltip="Jazz"/>
            </asp:menuitem>
            <asp:menuitem navigateurl="Movies.aspx"
              text="Movies"
              popoutimageurl="Images\Popout.jpg"              
              tooltip="Movies">
              <asp:menuitem navigateurl="Action.aspx"
                text="Action"
                separatorimageurl="Images\Separator.jpg"
                tooltip="Action"/>
              <asp:menuitem navigateurl="Drama.aspx"
                text="Drama"
                separatorimageurl="Images\Separator.jpg"
                tooltip="Drama"/>
              <asp:menuitem navigateurl="Musical.aspx"
                text="Musical"
                separatorimageurl="Images\Separator.jpg"
                tooltip="Musical"/>
            </asp:menuitem>
          </asp:menuitem>
        </items>
      
      </asp:menu>

    </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>MenuItem Declarative Example</title>
</head>
<body>
    <form id="form1" runat="server">
    
      <h3>MenuItem Declarative Example</h3>
    
      <!-- Use declarative syntax to create the   -->
      <!-- menu structure. Create submenu items   -->
      <!-- by nesting them within parent menu     -->
      <!-- items.                                 -->
      <asp:menu id="NavigationMenu"
        staticdisplaylevels="1"
        staticsubmenuindent="10" 
        orientation="Vertical" 
        target="_blank"  
        runat="server">

        <items>
          <asp:menuitem navigateurl="Home.aspx" 
            text="Home"
            imageurl="Images\Home.gif"
            popoutimageurl="Images\Popout.jpg"   
            tooltip="Home">
            <asp:menuitem navigateurl="Music.aspx"
              text="Music"
              popoutimageurl="Images\Popout.jpg"
              tooltip="Music">
              <asp:menuitem navigateurl="Classical.aspx" 
                text="Classical"
                separatorimageurl="Images\Separator.jpg"
                tooltip="Classical"/>
              <asp:menuitem navigateurl="Rock.aspx"
                text="Rock"
                separatorimageurl="Images\Separator.jpg"
                tooltip="Rock"/>
              <asp:menuitem navigateurl="Jazz.aspx"
                text="Jazz"
                separatorimageurl="Images\Separator.jpg"
                tooltip="Jazz"/>
            </asp:menuitem>
            <asp:menuitem navigateurl="Movies.aspx"
              text="Movies"
              popoutimageurl="Images\Popout.jpg"              
              tooltip="Movies">
              <asp:menuitem navigateurl="Action.aspx"
                text="Action"
                separatorimageurl="Images\Separator.jpg"
                tooltip="Action"/>
              <asp:menuitem navigateurl="Drama.aspx"
                text="Drama"
                separatorimageurl="Images\Separator.jpg"
                tooltip="Drama"/>
              <asp:menuitem navigateurl="Musical.aspx"
                text="Musical"
                separatorimageurl="Images\Separator.jpg"
                tooltip="Musical"/>
            </asp:menuitem>
          </asp:menuitem>
        </items>
      
      </asp:menu>

    </form>
  </body>
</html>

Aşağıdaki örnekte bir denetimin bir Menu denetime nasıl bağlanacağınız gösterilmektedir SiteMapDataSource . Bir veri kaynağına bağlanıldığında, Menu denetim nesneleri otomatik olarak oluşturur MenuItem . Bu örneğin düzgün çalışması için aşağıdaki örnek site haritası verilerini Web.sitemap 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" >

  <!-- For the hover styles of the Menu control to  -->
  <!-- work correctly, you must include this head   -->
  <!-- element.                                     -->
  <head runat="server">
    <title>Menu DataBinding Example</title>
</head>

  <body>
    <form id="form1" runat="server">
    
      <h3>Menu DataBinding Example</h3>
    
      <!-- Bind the Menu control to a SiteMapDataSource control.  -->
      <asp:menu id="NavigationMenu"
        disappearafter="2000"
        staticdisplaylevels="2"
        staticsubmenuindent="10" 
        orientation="Vertical"
        font-names="Arial" 
        target="_blank"
        datasourceid="MenuSource"   
        runat="server">
        
        <staticmenuitemstyle backcolor="LightSteelBlue"
          forecolor="Black"/>
        <statichoverstyle backcolor="LightSkyBlue"/>
        <dynamicmenuitemstyle backcolor="Black"
          forecolor="Silver"/>
        <dynamichoverstyle backcolor="LightSkyBlue"
          forecolor="Black"/>

      </asp:menu>
      
      <asp:SiteMapDataSource id="MenuSource"
        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" >

  <!-- For the hover styles of the Menu control to  -->
  <!-- work correctly, you must include this head   -->
  <!-- element.                                     -->
  <head runat="server">
    <title>Menu DataBinding Example</title>
</head>

  <body>
    <form id="form1" runat="server">
    
      <h3>Menu DataBinding Example</h3>
    
      <!-- Bind the Menu control to a SiteMapDataSource control.  -->
      <asp:menu id="NavigationMenu"
        disappearafter="2000"
        staticdisplaylevels="2"
        staticsubmenuindent="10" 
        orientation="Vertical"
        font-names="Arial" 
        target="_blank"
        datasourceid="MenuSource"   
        runat="server">
        
        <staticmenuitemstyle backcolor="LightSteelBlue"
          forecolor="Black"/>
        <statichoverstyle backcolor="LightSkyBlue"/>
        <dynamicmenuitemstyle backcolor="Black"
          forecolor="Silver"/>
        <dynamichoverstyle backcolor="LightSkyBlue"
          forecolor="Black"/>

      </asp:menu>
      
      <asp:SiteMapDataSource id="MenuSource"
        runat="server"/>        

    </form>
  </body>
</html>

Aşağıda, önceki örneğe ilişkin örnek site haritası verileri verilmiştir.

<siteMap>

<siteMapNode url="~\Home.aspx"

title="Home"

description="Home">

<siteMapNode url="~\Music.aspx"

title="Music"

description="Music">

<siteMapNode url="~\Classical.aspx"

title="Classical"

description="Classical"/>

<siteMapNode url="~\Rock.aspx"

title="Rock"

description="Rock"/>

<siteMapNode url="~\Jazz.aspx"

title="Jazz"

description="Jazz"/>

</siteMapNode>

<siteMapNode url="~\Movies.aspx"

title="Movies"

description="Movies">

<siteMapNode url="~\Action.aspx"

title="Action"

description="Action"/>

<siteMapNode url="~\Drama.aspx"

title="Drama"

description="Drama"/>

<siteMapNode url="~\Musical.aspx"

title="Musical"

description="Musical"/>

</siteMapNode>

</siteMapNode>

</siteMap>

Açıklamalar

Denetim Menu , nesneler tarafından MenuItem temsil edilen menü öğelerinin hiyerarşilerinden oluşur. Her menü öğesinin, denetimde menü öğesinin görüntülendiği Menu düzeyi belirten salt Depth okunur bir özelliği vardır. Üst menü öğesi olmayan en üst düzeydeki (düzey 0) menü öğelerine kök menü öğeleri adı verilir. Üst menü öğesi olan bir menü öğesine alt menü öğesi adı verilir. Tüm kök menü öğeleri koleksiyonda Items depolanır. Alt menü öğeleri bir üst menü öğesinin ChildItems koleksiyonunda depolanır. özelliğini kullanarak Parent bir menü öğesinin üst menü öğesine erişebilirsiniz.

Uyarı

Items ve ChildItems koleksiyonları yalnızca bir sonraki düzeye ait menü öğelerini içerir. Menü ağacının daha aşağısındaki menü öğelerine erişmek için, sonraki menü öğesinin özelliğini kullanın ChildItems .

Denetimin Menu menü öğelerini oluşturmak için aşağıdaki yöntemlerden birini kullanın:

Statik menü öğeleri oluşturmak için bildirim temelli söz dizimlerini kullanın.

Sınıfın yeni örneklerini MenuItem dinamik olarak oluşturmak için bir oluşturucu kullanın. Bu MenuItem nesneler daha sonra veya ChildItems koleksiyonuna Items eklenebilir.

Menu Denetimi bir veri kaynağına bağlayın. Menu Denetim bir SiteMapDataSource denetime bağlı olduğunda, MenuItem veri kaynağındaki öğelere karşılık gelen nesneler otomatik olarak oluşturulur. Diğer veri kaynakları için, MenuItem veri kaynağının hiyerarşi yapısıyla eşleşen nesneler de otomatik olarak oluşturulur; ancak, bir menü öğesi ile ilgili veri öğesi arasındaki bağlama ilişkisini belirten menü öğesi bağlamalarını tanımlamak için koleksiyonu da kullanmanız DataBindings gerekir.

Menü öğeleri, düzeyine bağlı olarak statik bir menüde veya dinamik menüde görüntülenir. Statik menü her zaman bir Menu denetimde görüntülenir. Varsayılan olarak, en üst düzeydeki menü öğeleri (düzey 0) statik menüde görüntülenir. Özelliğini ayarlayarak StaticDisplayLevels statik menü içinde ek menü düzeyleri (statik alt menüler) görüntüleyebilirsiniz. Özelliği tarafından StaticDisplayLevels belirtilen değerden daha yüksek bir düzeye sahip menü öğeleri (varsa) dinamik bir alt menüde görüntülenir. Dinamik alt menü yalnızca kullanıcı fare işaretçisini dinamik alt menü içeren üst menü öğesinin üzerine getirince görüntülenir.

Kullanıcı bir menü öğesine tıkladığında, Menu denetim bağlantılı bir Web sayfasına gidebilir veya sunucuya geri gönderebilir. Menü öğesinin NavigateUrl özelliği ayarlanırsa, Menu denetim bağlantılı sayfaya gider; aksi takdirde sayfayı işlemek üzere sunucuya geri gönderir. Varsayılan olarak, bağlantılı bir sayfa denetimle aynı pencerede veya çerçevede Menu görüntülenir. Bağlı içeriği farklı bir pencerede veya çerçevede görüntülemek için denetimin TargetMenu özelliğini kullanın.

Uyarı

özelliği denetimdeki Menu.Target her menü öğesini etkiler. Tek bir menü öğesi için bir pencere veya çerçeve belirtmek için nesnenin TargetMenuItem özelliğini doğrudan ayarlayın.

Her menü öğesinin bir Text ve Value özelliği vardır. Özelliğin Text değeri denetimde Menu görüntülenirken Value , özellik menü öğesiyle ilişkili geri gönderme olayına geçirilen veriler gibi menü öğesiyle ilgili ek verileri depolamak için kullanılır. Özelliği ayarlar Text , ancak özelliği ayarsız bırakırsanız Value , Value özellik otomatik olarak özelliğiyle aynı değerle Text ayarlanır. Tam tersi de geçerlidir. Özelliği ayarlar ancak özelliği ayarlamazsanız ValueText , Text özellik otomatik olarak özelliğiyle aynı değerle Value ayarlanır.

Uyarı

Aynı menü düzeyindeki menü öğelerinin her birinin özelliği için Value benzersiz bir değeri olmalıdır; Menu denetim aynı değere sahip aynı düzeydeki farklı menü öğelerini ayırt edemez. Bu senaryoda, kullanıcı yinelenen değeri olan bir menü öğesine tıklarsa, menüde ilk olarak görüntülenen menü öğesi seçilir.

Kullanıcı fare işaretçisini bir menü öğesinin üzerine getirince Araç İpucu görüntülemek için öğenin ToolTip özelliğini ayarlayın.

Bir Menu denetimin birkaç farklı tür menü öğesi vardır. Aşağıdaki tabloda yer alan özellikleri kullanarak farklı menü öğesi türlerinin stilini (yazı tipi boyutu ve renk gibi) denetleyebilirsiniz.

Menü öğesi stili özelliği Açıklama
DynamicHoverStyle Fare işaretçisi üzerine yerleştirildiğinde dinamik menü öğesinin stil ayarları.
DynamicMenuItemStyle Tek bir dinamik menü öğesinin stil ayarları.
DynamicMenuStyle Dinamik menünün stil ayarları.
DynamicSelectedStyle Seçili durumdaki dinamik menü öğesinin stil ayarları.
StaticHoverStyle Fare işaretçisi üzerine yerleştirildiğinde statik menü öğesinin stil ayarları.
StaticMenuItemStyle Tek bir statik menü öğesinin stil ayarları.
StaticMenuStyle Statik menünün stil ayarları.
StaticSelectedStyle Seçili durumdaki statik menü öğesinin stil ayarları.

Tek tek stil özelliklerini ayarlamak yerine, aşağıdaki tabloda gösterilen stil koleksiyonlarını kullanarak menü öğelerine düzeylerine göre uygulanan stilleri belirtebilirsiniz.

Düzey stili koleksiyonları Açıklama
LevelMenuItemStyles Menü öğelerinin MenuItemStyle stilini kendi düzeylerine göre denetleyebilen nesneler koleksiyonu.
LevelSelectedStyles Seçili menü öğelerinin MenuItemStyle stilini kendi düzeylerine göre denetleyebilen nesneler koleksiyonu.
LevelSubMenuStyles Alt menü öğelerinin MenuItemStyle stilini kendi düzeylerine göre denetleyebilen nesneler koleksiyonu.

Koleksiyondaki ilk stil, menü ağacındaki ilk derinlik düzeyindeki menü öğelerinin stiline karşılık gelir. Koleksiyondaki ikinci stil, menü ağacındaki ikinci derinlik düzeyindeki menü öğelerinin stiline karşılık gelir ve bu şekilde devam eder. Bu çoğunlukla, alt menüleri olup olmadığına bakılmaksızın belirli bir derinlikte menü öğelerinin aynı görünüme sahip olması gereken içindekiler stilinde gezinti menüleri oluşturmak için kullanılır.

Uyarı

Önceki tabloda listelenen düzey stili koleksiyonlarından herhangi birini denetimin stilini tanımlamak için Menu kullanırsanız, bu stil ayarları tek tek menü öğesi stili özelliklerini geçersiz kılar.

Menü öğesinin stilini özelleştirmeye ek olarak, görünümünü de özelleştirebilirsiniz. Aşağıdaki tabloda özellikleri ayarlayarak bir menü öğesinin farklı bölümleri için özel görüntüler belirtebilirsiniz.

Görüntü özelliği Açıklama
ImageUrl Menü öğesinin metninin yanında görüntülenen isteğe bağlı bir resim.
PopOutImageUrl Menü öğesinde, menü öğesinin dinamik bir alt menüsü olduğunu göstermek için görüntülenen isteğe bağlı bir resim.
SeparatorImageUrl Menü öğesini diğer menü öğelerinden ayırmak için alt kısmında görüntülenen isteğe bağlı bir resim.

Denetimde Menu bir menü öğesinin seçili olup olmadığını belirlemek için özelliğini kullanın Selected . Ayrıca özelliğini kullanarak DataBound bir menü öğesinin verilere bağlı olup olmadığını belirleyebilirsiniz. Bir menü öğesi verilere bağlıysa, menü öğesine bağlı veri öğesinin değerlerine erişmek için özelliğini kullanabilirsiniz DataItem .

Sınıfının bir örneğinin ilk özellik değerlerinin MenuItem listesi için oluşturucuya MenuItem bakın.

Oluşturucular

Name Description
MenuItem()

Menü metni veya değer olmadan sınıfın MenuItem yeni bir örneğini başlatır.

MenuItem(String, String, String, String, String)

Belirtilen menü metnini, değeri, görüntü URL'sini MenuItem , gezinti URL'sini ve hedefi kullanarak sınıfın yeni bir örneğini başlatır.

MenuItem(String, String, String, String)

Belirtilen menü metnini, değerini, görüntü URL'sini MenuItem ve gezinti URL'sini kullanarak sınıfın yeni bir örneğini başlatır.

MenuItem(String, String, String)

Belirtilen menü metnini, değerini ve bir görüntünün URL'sini kullanarak sınıfın yeni bir örneğini MenuItem başlatır.

MenuItem(String, String)

Belirtilen menü metnini ve değerini kullanarak sınıfın MenuItem yeni bir örneğini başlatır.

MenuItem(String)

Belirtilen menü metnini kullanarak sınıfın MenuItem yeni bir örneğini başlatır.

Özellikler

Name Description
ChildItems

Geçerli menü öğesinin alt menü öğelerini içeren bir MenuItemCollection nesne alır.

DataBound

Menü öğesinin veri bağlama aracılığıyla oluşturulup oluşturulmadığını belirten bir değer alır.

DataItem

Menü öğesine bağlı veri öğesini alır.

DataPath

Menü öğesine bağlı verilerin yolunu alır.

Depth

Bir menü öğesinin görüntülendiği düzeyi alır.

Enabled

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

ImageUrl

Bir menü öğesindeki metnin yanında görüntülenen görüntünün URL'sini alır veya ayarlar.

NavigateUrl

Menü öğesine tıklandığında gidecek URL'yi alır veya ayarlar.

Parent

Geçerli menü öğesinin üst menü öğesini alır.

PopOutImageUrl

Menü öğesinin dinamik bir alt menüsü olduğunu belirtmek için bir menü öğesinde görüntülenen görüntünün URL'sini alır veya ayarlar.

Selectable

Nesnenin MenuItem seçilip seçilemeyeceğini veya "tıklanabilir" olduğunu belirten bir değer alır veya ayarlar.

Selected

Geçerli menü öğesinin bir denetimde seçili olup olmadığını belirten bir Menu değer alır veya ayarlar.

SeparatorImageUrl

Bir menü öğesinin alt kısmında görüntülenen görüntünün URL'sini alır veya ayarlar ve diğer menü öğelerinden ayırır.

Target

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

Text

Denetimdeki menü öğesi Menu için görüntülenen metni alır veya ayarlar.

ToolTip

Menü öğesi için Araç İpucu metnini alır veya ayarlar.

Value

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

ValuePath

Kök menü öğesinden geçerli menü öğesine giden yolu alır.

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.

(Devralındığı yer: Object)

Belirtik Arabirim Kullanımları

Name Description
ICloneable.Clone()

Geçerli MenuItem nesnenin bir kopyasını oluşturur.

IStateManager.IsTrackingViewState

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

IStateManager.LoadViewState(Object)

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

IStateManager.SaveViewState()

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

IStateManager.TrackViewState()

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

Şunlara uygulanır

Ayrıca bkz.