MenuItem Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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. |