Bagikan melalui


MenuItem Kelas

Definisi

Mewakili item menu yang ditampilkan dalam Menu kontrol. Kelas ini tidak dapat diwariskan.

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
Warisan
MenuItem
Penerapan

Contoh

Contoh berikut menunjukkan cara mengisi Menu kontrol dengan objek statis MenuItem menggunakan sintaks deklaratif.


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

Contoh berikut menunjukkan cara mengikat Menu kontrol ke SiteMapDataSource kontrol. Saat terikat ke sumber data, Menu kontrol secara otomatis membuat MenuItem objek. Agar contoh ini berfungsi dengan benar, Anda harus menyalin data peta situs sampel di bawah ini ke file bernama Web.sitemap.


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

Berikut ini adalah contoh data peta situs untuk contoh sebelumnya.

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

Keterangan

Menu Kontrol terdiri dari hierarki item menu yang diwakili oleh MenuItem objek. Setiap item menu memiliki properti baca-saja Depth yang menentukan tingkat di mana item menu ditampilkan dalam Menu kontrol. Item menu di tingkat atas (tingkat 0) yang tidak memiliki item menu induk disebut item menu akar. Item menu yang memiliki item menu induk disebut item submenu. Semua item menu akar disimpan dalam Items koleksi. Item submenu disimpan dalam koleksi item ChildItems menu induk. Anda dapat mengakses item menu induk item menu dengan menggunakan Parent properti .

Nota

Koleksi Items dan ChildItems hanya berisi item menu untuk tingkat berikutnya ke bawah. Untuk mengakses item menu lebih jauh ke bawah pohon menu, gunakan ChildItems properti item menu berikutnya.

Untuk membuat item menu untuk Menu kontrol, gunakan salah satu metode berikut:

Gunakan sintaks deklaratif untuk membuat item menu statis.

Gunakan konstruktor untuk membuat instans MenuItem baru kelas secara dinamis. Objek-objek ini MenuItem kemudian dapat ditambahkan ke Items koleksi atau ChildItems .

Ikat kontrol ke Menu sumber data. Menu Saat kontrol terikat ke SiteMapDataSource kontrol, MenuItem objek secara otomatis dibuat yang sesuai dengan item di sumber data. Untuk sumber data lainnya, MenuItem objek juga secara otomatis dibuat yang cocok dengan struktur hierarki sumber data; namun, Anda juga harus menggunakan DataBindings koleksi untuk menentukan pengikatan item menu yang menentukan hubungan pengikatan antara item menu dan item data yang sesuai.

Item menu ditampilkan di menu statis atau menu dinamis, tergantung pada tingkatnya. Menu statis selalu ditampilkan dalam Menu kontrol. Secara default, item menu di tingkat atas (tingkat 0) ditampilkan di menu statis. Anda dapat menampilkan tingkat menu tambahan (submenu statis) dalam menu statis dengan mengatur StaticDisplayLevels properti . Item menu (jika ada) dengan tingkat yang lebih tinggi dari nilai yang ditentukan oleh StaticDisplayLevels properti ditampilkan dalam submenu dinamis. Submenu dinamis hanya muncul ketika pengguna memposisikan penunjuk mouse di atas item menu induk yang berisi submenu dinamis.

Saat pengguna mengklik item menu, Menu kontrol dapat menavigasi ke halaman Web tertaut atau cukup memposting kembali ke server. NavigateUrl Jika properti item menu diatur, Menu kontrol menavigasi ke halaman tertaut; jika tidak, itu memposting halaman kembali ke server untuk diproses. Secara default, halaman tertaut ditampilkan di jendela atau bingkai yang sama dengan Menu kontrol. Untuk menampilkan konten tertaut di jendela atau bingkai yang berbeda, gunakan Target properti Menu kontrol.

Nota

Properti Menu.Target memengaruhi setiap item menu dalam kontrol. Untuk menentukan jendela atau bingkai untuk item menu individual, atur Target properti objek secara MenuItem langsung.

Setiap item menu memiliki Text properti dan Value . Nilai Text properti ditampilkan dalam Menu kontrol, sementara Value properti digunakan untuk menyimpan data tambahan tentang item menu, seperti data yang diteruskan ke peristiwa postback yang terkait dengan item menu. Jika Anda mengatur Text properti, tetapi biarkan Value properti tidak diatur, Value properti secara otomatis diatur dengan nilai Text yang sama dengan properti . Sebaliknya juga benar. Jika Anda mengatur Value properti , tetapi bukan Text properti , Text properti secara otomatis diatur dengan nilai Value yang sama dengan properti .

Nota

Item menu pada tingkat menu yang sama masing-masing harus memiliki nilai unik untuk Value properti; Menu kontrol tidak dapat membedakan antara item menu yang berbeda pada tingkat yang sama yang memiliki nilai yang sama. Dalam skenario ini, jika pengguna mengklik item menu yang memiliki nilai duplikat, item menu yang muncul terlebih dahulu di menu dipilih.

Untuk menampilkan TipsAlat saat pengguna memposisikan penunjuk mouse di atas item menu, atur properti item ToolTip .

Menu Kontrol memiliki beberapa jenis item menu yang berbeda. Anda dapat mengontrol gaya (seperti ukuran dan warna font) untuk tipe item menu yang berbeda dengan menggunakan properti dalam tabel berikut ini.

Properti gaya item menu Deskripsi
DynamicHoverStyle Pengaturan gaya untuk item menu dinamis saat penunjuk mouse diposisikan di atasnya.
DynamicMenuItemStyle Pengaturan gaya untuk item menu dinamis individual.
DynamicMenuStyle Pengaturan gaya untuk menu dinamis.
DynamicSelectedStyle Pengaturan gaya untuk item menu dinamis yang saat ini dipilih.
StaticHoverStyle Pengaturan gaya untuk item menu statis ketika penunjuk mouse diposisikan di atasnya.
StaticMenuItemStyle Pengaturan gaya untuk item menu statis individual.
StaticMenuStyle Pengaturan gaya untuk menu statis.
StaticSelectedStyle Pengaturan gaya untuk item menu statis yang saat ini dipilih.

Alih-alih mengatur properti gaya individual, Anda dapat menentukan gaya yang diterapkan ke item menu berdasarkan tingkatnya dengan menggunakan koleksi gaya yang diperlihatkan dalam tabel berikut.

Koleksi gaya tingkat Deskripsi
LevelMenuItemStyles Kumpulan MenuItemStyle objek yang mengontrol gaya item menu berdasarkan tingkatnya.
LevelSelectedStyles Kumpulan MenuItemStyle objek yang mengontrol gaya item menu yang dipilih berdasarkan tingkatnya.
LevelSubMenuStyles Kumpulan MenuItemStyle objek yang mengontrol gaya item submenu berdasarkan tingkatnya.

Gaya pertama dalam koleksi sesuai dengan gaya item menu pada tingkat kedalaman pertama di pohon menu. Gaya kedua dalam koleksi sesuai dengan gaya item menu pada tingkat kedalaman kedua di pohon menu, dan sebagainya. Ini paling sering digunakan untuk menghasilkan menu navigasi gaya daftar isi di mana item menu pada kedalaman tertentu harus memiliki tampilan yang sama, terlepas dari apakah mereka memiliki submenu.

Nota

Jika Anda menggunakan salah satu koleksi gaya tingkat yang tercantum dalam tabel sebelumnya untuk menentukan gaya untuk Menu kontrol, pengaturan gaya ini akan menggantikan properti gaya item menu individual.

Selain menyesuaikan gaya item menu, Anda juga dapat menyesuaikan tampilannya. Anda dapat menentukan gambar kustom untuk berbagai bagian untuk item menu dengan mengatur properti dalam tabel berikut.

Properti gambar Deskripsi
ImageUrl Gambar opsional ditampilkan di samping teks item menu.
PopOutImageUrl Gambar opsional yang ditampilkan dalam item menu untuk menunjukkan bahwa item menu memiliki submenu dinamis.
SeparatorImageUrl Gambar opsional ditampilkan di bagian bawah item menu untuk memisahkannya dari item menu lainnya.

Untuk menentukan apakah item menu saat ini dipilih dalam Menu kontrol, gunakan Selected properti . Anda juga dapat menentukan apakah item menu terikat ke data dengan menggunakan DataBound properti . Jika item menu terikat ke data, Anda dapat menggunakan DataItem properti untuk mengakses nilai item data yang terikat ke item menu.

Untuk daftar nilai properti awal untuk instans kelas MenuItem, lihat konstruktor MenuItem.

Konstruktor

Nama Deskripsi
MenuItem()

Menginisialisasi instans MenuItem baru kelas tanpa teks menu atau nilai.

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

Menginisialisasi instans MenuItem baru kelas menggunakan teks menu, nilai, URL gambar, URL navigasi, dan target yang ditentukan.

MenuItem(String, String, String, String)

Menginisialisasi instans MenuItem baru kelas menggunakan teks menu, nilai, URL gambar, dan URL navigasi yang ditentukan.

MenuItem(String, String, String)

Menginisialisasi instans MenuItem baru kelas menggunakan teks menu, nilai, dan URL yang ditentukan ke gambar.

MenuItem(String, String)

Menginisialisasi instans MenuItem baru kelas menggunakan teks dan nilai menu yang ditentukan.

MenuItem(String)

Menginisialisasi instans MenuItem baru kelas menggunakan teks menu yang ditentukan.

Properti

Nama Deskripsi
ChildItems

MenuItemCollection Mendapatkan objek yang berisi item submenu dari item menu saat ini.

DataBound

Mendapatkan nilai yang menunjukkan apakah item menu dibuat melalui pengikatan data.

DataItem

Mendapatkan item data yang terikat ke item menu.

DataPath

Mendapatkan jalur ke data yang terikat ke item menu.

Depth

Mendapatkan tingkat di mana item menu ditampilkan.

Enabled

Mendapatkan atau mengatur nilai yang menunjukkan apakah MenuItem objek diaktifkan, memungkinkan item menampilkan gambar pop-out dan item menu turunan apa pun.

ImageUrl

Mendapatkan atau mengatur URL ke gambar yang ditampilkan di samping teks dalam item menu.

NavigateUrl

Mendapatkan atau mengatur URL yang akan dinavigasi saat item menu diklik.

Parent

Mendapatkan item menu induk dari item menu saat ini.

PopOutImageUrl

Mendapatkan atau mengatur URL ke gambar yang ditampilkan dalam item menu untuk menunjukkan bahwa item menu memiliki submenu dinamis.

Selectable

Mendapatkan atau menetapkan nilai yang menunjukkan apakah MenuItem objek dapat dipilih, atau "dapat diklik."

Selected

Mendapatkan atau mengatur nilai yang menunjukkan apakah item menu saat ini dipilih dalam Menu kontrol.

SeparatorImageUrl

Mendapatkan atau mengatur URL ke gambar yang ditampilkan di bagian bawah item menu untuk memisahkannya dari item menu lainnya.

Target

Mendapatkan atau mengatur jendela target atau bingkai untuk menampilkan isi halaman Web yang terkait dengan item menu.

Text

Mendapatkan atau mengatur teks yang ditampilkan untuk item menu dalam Menu kontrol.

ToolTip

Mendapatkan atau mengatur teks TipsAlat untuk item menu.

Value

Mendapatkan atau mengatur nilai yang tidak ditampilkan yang digunakan untuk menyimpan data tambahan tentang item menu, seperti data yang digunakan untuk menangani peristiwa postback.

ValuePath

Mendapatkan jalur dari item menu akar ke item menu saat ini.

Metode

Nama Deskripsi
Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetType()

Mendapatkan Type instans saat ini.

(Diperoleh dari Object)
MemberwiseClone()

Membuat salinan dangkal dari Objectsaat ini.

(Diperoleh dari Object)
ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)

Implementasi Antarmuka Eksplisit

Nama Deskripsi
ICloneable.Clone()

Membuat salinan objek saat ini MenuItem .

IStateManager.IsTrackingViewState

Mendapatkan nilai yang menunjukkan apakah MenuItem objek menyimpan perubahan pada status tampilannya.

IStateManager.LoadViewState(Object)

Memuat status tampilan item menu yang disimpan sebelumnya.

IStateManager.SaveViewState()

Menyimpan perubahan status tampilan ke Object.

IStateManager.TrackViewState()

Menginstruksikan MenuItem objek untuk melacak perubahan pada status tampilannya.

Berlaku untuk

Lihat juga