MenuItem 클래스

정의

Menu 컨트롤에 표시되는 메뉴 항목을 나타냅니다. 이 클래스는 상속될 수 없습니다.

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
상속
MenuItem
구현

예제

다음 예제에서는 채우는 방법을 보여 줍니다.는 Menu 컨트롤을 정적 MenuItem 선언적 구문을 사용 하 여 개체입니다.


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

다음 예제에서는 바인딩하는 방법을 보여는 Menu 컨트롤을 SiteMapDataSource 컨트롤입니다. 데이터 원본에 바인딩된 경우는 Menu 컨트롤을 자동으로 만듭니다는 MenuItem 개체입니다. 제대로 작동 하려면이 예제에서는 라는 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>

다음은 샘플 사이트 맵 데이터 앞의 예제입니다.

<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 Menu 컨트롤은 표시 되는 메뉴 항목의 계층 구조로 이루어집니다 MenuItem 개체입니다. 각 메뉴 항목에는 읽기 전용 Depth 메뉴 항목에 표시 되는 수준을 지정 하는 속성을 Menu 제어 합니다. 부모 메뉴 항목을 없는 최상위 (수준 0)에 메뉴 항목을 루트 메뉴 항목 이라고 합니다. 부모 메뉴 항목에 있는 메뉴 항목에는 하위 메뉴 항목을 호출 됩니다. 모든 루트 메뉴 항목에 저장 되는 Items 컬렉션입니다. 부모 메뉴 항목에 하위 메뉴 항목이 저장 됩니다 ChildItems 컬렉션입니다. 사용 하 여 메뉴 항목의 부모 메뉴 항목을 액세스할 수 있습니다는 Parent 속성입니다.

참고

합니다 ItemsChildItems 아래로 다음 수준에 대 한 메뉴 항목을 포함 하는 컬렉션입니다. 이상 메뉴 트리에서 아래의 메뉴 항목에 액세스 하려면 사용 된 ChildItems 후속 메뉴 항목의 속성입니다.

에 대 한 메뉴 항목을 만드는 Menu 제어 다음 방법 중 하나를 사용 합니다.

정적 메뉴 항목을 만드는 선언적 구문을 사용 합니다.

새 인스턴스를 동적으로 만들려면 생성자를 사용 하 여 MenuItem 클래스입니다. 이러한 MenuItem 개체에 추가할 수 있습니다 합니다 Items 또는 ChildItems 컬렉션입니다.

바인딩하는 Menu 컨트롤을 데이터 소스입니다. 경우는 Menu 컨트롤이 바인딩되는 SiteMapDataSource 컨트롤을 MenuItem 개체는 데이터 원본에 있는 항목에 해당 하는 자동으로 만들어집니다. 하지만 다른 데이터 원본의 MenuItem 개체는 자동으로 데이터 원본 계층 구조와 일치 하는 만들어지지만 사용 해야는 DataBindings 바인딩 관계를 지정 하는 메뉴 항목 바인딩을 정의 하는 컬렉션 메뉴 항목 사이의 해당 데이터 항목입니다.

정적 메뉴 또는 해당 수준에 따라 동적 메뉴에 메뉴 항목이 표시 됩니다. 정적 메뉴에 항상 표시 되는 Menu 제어 합니다. 기본적으로 정적 메뉴의 최상위 (수준 0)에 메뉴 항목이 표시 됩니다. 정적 메뉴 내에서 설정 하 여 추가 메뉴 수준 (정적 하위 메뉴)를 표시할 수 있습니다는 StaticDisplayLevels 속성입니다. 메뉴 항목 (해당 되는 경우)에 지정 된 값 보다 높은 수준의 StaticDisplayLevels 속성을 동적 하위 메뉴가 표시 됩니다. 동적 하위 메뉴가 가져갈 때 마우스 포인터를 동적 하위 메뉴가 부모 메뉴 항목을 통해 표시 됩니다.

메뉴 항목을 마우스 오른쪽 단추로 클릭할 때는 Menu 컨트롤 연결 된 웹 페이지로 이동 하거나 서버에 다시 게시 하기만 하면 됩니다. 경우는 NavigateUrl 메뉴 항목의 속성을 설정 합니다 Menu 페이지 처리를 위해 서버를 다시 게시이 고, 그렇지 않으면 컨트롤에 연결 된 페이지로 이동 합니다. 기본적으로 연결 된 페이지 동일한 창이 나 프레임에 표시 됩니다는 Menu 제어 합니다. 다른 창이 나 프레임의 연결된 된 콘텐츠를 표시 하려면 사용 합니다 Target 의 속성은 Menu 컨트롤입니다.

참고

Menu.Target 속성 컨트롤의 모든 메뉴 항목에 영향을 줍니다. 창이 나 개별 메뉴 항목에 대 한 프레임을 지정 하려면 설정 합니다 Target 의 속성은 MenuItem 직접 개체.

각 메뉴 항목에는 TextValue 속성입니다. 값을 Text 속성에 표시 됩니다는 Menu 컨트롤 하는 동안는 Value 메뉴 항목과 연결 된 다시 게시 이벤트에 전달 된 데이터와 같은 속성 메뉴 항목에 대 한 추가 데이터를 저장 하는. 설정 하는 경우는 Text 하지 않으면 속성을 Value 속성을 설정된 합니다 Value 속성은 자동으로 동일한 값으로 설정 됩니다는 Text 속성. 반대의 경우도 마찬가지입니다. 설정 하는 경우는 Value 속성을 아닌를 Text 속성인을 Text 속성은 자동으로 동일한 값으로 설정 됩니다는 Value 속성.

참고

메뉴 항목 동일 메뉴 수준에서 각 있어야에 고유한 값을 합니다 Value 속성, Menu 컨트롤 같은 값이 있는 동일한 수준의 다른 메뉴 항목을 구분할 수 없습니다. 이 시나리오에서는 중복 된 값을 가진 메뉴 항목을 마우스 오른쪽 단추로 클릭할 경우 나타나는 메뉴에서 첫 번째 메뉴 항목 선택 됩니다.

사용자 메뉴 항목 위로 마우스 포인터를 놓을 때 도구 설명을 표시할 항목의 설정 ToolTip 속성입니다.

Menu 컨트롤에 여러 가지 메뉴 항목입니다. 다음 표에 속성을 사용 하 여 다양 한 메뉴 항목 형식에 대 한 스타일 (예: 글꼴 크기 및 색)을 제어할 수 있습니다.

메뉴 항목 스타일 속성 Description
DynamicHoverStyle 마우스 포인터 위로 가져갈 때 동적 메뉴 항목의 스타일 설정입니다.
DynamicMenuItemStyle 개별 동적 메뉴 항목의 스타일 설정입니다.
DynamicMenuStyle 동적 메뉴의 스타일 설정입니다.
DynamicSelectedStyle 현재 선택한 동적 메뉴 항목의 스타일 설정입니다.
StaticHoverStyle 마우스 포인터 위로 가져갈 때 정적 메뉴 항목의 스타일 설정입니다.
StaticMenuItemStyle 각 정적 메뉴 항목의 스타일 설정입니다.
StaticMenuStyle 정적 메뉴의 스타일 설정입니다.
StaticSelectedStyle 현재 선택 된 정적 메뉴 항목의 스타일 설정입니다.

개별 스타일 속성을 설정 하는 대신 해당 수준을 기준으로 다음 표에 나와 있는 스타일 컬렉션을 사용 하 여 메뉴 항목에 적용 되는 스타일을 지정할 수 있습니다.

수준 스타일 컬렉션 Description
LevelMenuItemStyles 컬렉션인 MenuItemStyle 해당 수준을 기준으로 메뉴 항목의 스타일을 제어 하는 개체입니다.
LevelSelectedStyles 컬렉션인 MenuItemStyle 개체의 스타일을 제어 하는 해당 수준을 기준으로 메뉴 항목을 선택 합니다.
LevelSubMenuStyles 컬렉션인 MenuItemStyle 해당 수준을 기준으로 하위 메뉴 항목의 스타일을 제어 하는 개체입니다.

컬렉션의 첫 번째 스타일 메뉴 트리에서 첫 번째 깊이에 메뉴 항목의 스타일에 해당합니다. 컬렉션의 두 번째 스타일 메뉴 트리에서에서 두 번째 수준에 있는 메뉴 항목의 스타일에 해당합니다. 이 주로 내용을 스타일 탐색 메뉴를 생성 하는 특정 깊이에서 메뉴 항목 하위 메뉴가 있는지 여부에 관계 없이 동일한 모양이 있어야 합니다.

참고

에 대 한 스타일을 정의 하려면 앞의 표에 나열 된 수준 스타일 컬렉션 중 하나를 사용 하는 경우는 Menu 컨트롤을 이러한 스타일 설정은 개별 메뉴 항목 스타일 속성을 재정의 합니다.

또한 메뉴 항목의 스타일을 사용자 지정 하는 것 외에도 해당 모양을 사용자 지정할 수 있습니다. 다음 표에 속성을 설정 하 여 메뉴 항목의 다른 부분에 대 한 사용자 지정 이미지를 지정할 수 있습니다.

이미지 속성 Description
ImageUrl 메뉴 항목의 텍스트 옆에 표시 되는 선택적 이미지입니다.
PopOutImageUrl 메뉴 항목에 동적 하위 메뉴가 있음을 나타내기 위해 메뉴 항목에 표시 하는 선택적 이미지입니다.
SeparatorImageUrl 다른 메뉴 항목과 구분 하기 위해 메뉴 항목의 맨 아래에 표시 되는 선택적 이미지입니다.

메뉴 항목에서 현재 선택 되어 있는지 여부를 결정 하는 Menu 컨트롤을 사용 하 여는 Selected 속성입니다. 메뉴 항목을 사용 하 여 데이터에 바인딩되어 있는지 여부를 확인할 수도 있습니다는 DataBound 속성입니다. 메뉴 항목을 데이터에 바인딩되어 있으면 사용할 수는 DataItem 메뉴 항목에 바인딩된 데이터 항목의 값에 액세스 하는 속성입니다.

MenuItem 클래스의 인스턴스에 대한 초기 속성 값 목록은 MenuItem 생성자를 참조하십시오.

생성자

MenuItem()

메뉴 텍스트나 값을 사용하지 않고 MenuItem 클래스의 새 인스턴스를 초기화합니다.

MenuItem(String)

지정한 메뉴 텍스트를 사용하여 MenuItem 클래스의 새 인스턴스를 초기화합니다.

MenuItem(String, String)

지정한 메뉴 텍스트와 값을 사용하여 MenuItem 클래스의 새 인스턴스를 초기화합니다.

MenuItem(String, String, String)

지정한 메뉴 텍스트, 값 및 이미지 URL을 사용하여 MenuItem 클래스의 새 인스턴스를 초기화합니다.

MenuItem(String, String, String, String)

지정한 메뉴 텍스트, 값, 이미지 URL 및 탐색 URL을 사용하여 MenuItem 클래스의 새 인스턴스를 초기화합니다.

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

메뉴 텍스트, 값, 이미지 URL, 탐색 URL 및 대상을 사용하여 MenuItem 클래스의 새 인스턴스를 초기화합니다.

속성

ChildItems

현재 메뉴 항목의 하위 메뉴 항목이 들어 있는 MenuItemCollection 개체를 가져옵니다.

DataBound

메뉴 항목이 데이터 바인딩을 통해 만들어졌는지 여부를 나타내는 값을 가져옵니다.

DataItem

메뉴 항목에 바인딩된 데이터 항목을 가져옵니다.

DataPath

메뉴 항목에 바인딩된 데이터의 경로를 가져옵니다.

Depth

메뉴 항목이 표시되는 수준을 가져옵니다.

Enabled

해당 항목이 팝아웃 이미지와 모든 자식 메뉴 항목을 표시할 수 있도록 MenuItem 개체가 활성화되는지 여부를 나타내는 값을 가져오거나 설정합니다.

ImageUrl

메뉴 항목의 텍스트 옆에 표시되는 이미지의 URL을 가져오거나 설정합니다.

NavigateUrl

메뉴 항목을 클릭할 때 탐색할 URL을 가져오거나 설정합니다.

Parent

현재 메뉴 항목의 부모 메뉴 항목을 가져옵니다.

PopOutImageUrl

메뉴 항목에 동적 하위 메뉴가 있는지 여부를 나타내기 위해 해당 메뉴 항목에 표시되는 이미지의 URL을 가져오거나 설정합니다.

Selectable

MenuItem 개체를 선택할 수 있는지 또는 "클릭 가능"한지 여부를 나타내는 값을 가져오거나 설정합니다.

Selected

현재 메뉴 항목이 Menu 컨트롤에서 선택되어 있는지 여부를 나타내는 값을 가져오거나 설정합니다.

SeparatorImageUrl

다른 메뉴 항목과 구분하기 위해 메뉴 항목의 아래쪽에 표시되는 이미지의 URL을 가져오거나 설정합니다.

Target

메뉴 항목과 연결된 웹 페이지 콘텐츠를 표시할 대상 창이나 프레임을 가져오거나 설정합니다.

Text

Menu 컨트롤의 메뉴 항목에 표시되는 텍스트를 가져오거나 설정합니다.

ToolTip

메뉴 항목에 대한 도구 설명 텍스트를 가져오거나 설정합니다.

Value

포스트백 이벤트 처리에 사용되는 데이터 같이 메뉴 항목에 대한 추가 데이터를 저장하는 데 사용되는 표시되지 않는 값을 가져오거나 설정합니다.

ValuePath

루트 메뉴 항목에서 현재 메뉴 항목까지의 경로를 가져옵니다.

메서드

Equals(Object)

지정된 개체가 현재 개체와 같은지 확인합니다.

(다음에서 상속됨 Object)
GetHashCode()

기본 해시 함수로 작동합니다.

(다음에서 상속됨 Object)
GetType()

현재 인스턴스의 Type을 가져옵니다.

(다음에서 상속됨 Object)
MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.

(다음에서 상속됨 Object)
ToString()

현재 개체를 나타내는 문자열을 반환합니다.

(다음에서 상속됨 Object)

명시적 인터페이스 구현

ICloneable.Clone()

현재 MenuItem 개체의 복사본을 만듭니다.

IStateManager.IsTrackingViewState

MenuItem 개체에서 해당 뷰 상태의 변경 내용을 저장하는지 여부를 나타내는 값을 가져옵니다.

IStateManager.LoadViewState(Object)

이전에 저장된 메뉴 항목의 뷰 상태를 로드합니다.

IStateManager.SaveViewState()

Object의 뷰 상태 변경 내용을 저장합니다.

IStateManager.TrackViewState()

MenuItem 개체에서 해당 뷰 상태의 변경 내용을 추적하도록 합니다.

적용 대상

추가 정보