Поделиться через


MenuEventArgs Класс

Определение

Предоставляет данные для событий MenuItemClick и MenuItemDataBound элемента управления Menu. Этот класс не наследуется.

public ref class MenuEventArgs sealed : System::Web::UI::WebControls::CommandEventArgs
public sealed class MenuEventArgs : System.Web.UI.WebControls.CommandEventArgs
type MenuEventArgs = class
    inherit CommandEventArgs
Public NotInheritable Class MenuEventArgs
Inherits CommandEventArgs
Наследование

Примеры

В следующем примере кода показано, как использовать MenuEventArgs объект, переданный обработчику события для события, для MenuItemDataBound изменения свойств пункта меню перед его отображением в элементе Menu управления . Свойство ImageUrlHome элемента меню задается для отображения изображения только в этом пункте меню. Чтобы этот пример работал правильно, необходимо скопировать приведенный ниже пример данных карты сайта в файл с именем 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">
<script runat="server">

  void MenuItemDataBound_NavigationMenu(Object sender, MenuEventArgs e)
  {
    // Display an image for the Home menu item only by
    // setting its ImageUrl property.
    if (e.Item.Text == "Home")
    {
      // Use an @-quoted string to bypass the escape sequence
      // processing.
      e.Item.ImageUrl = @"Images\Home.jpg";
    }
  }

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>MenuEventArgs Example</title>
</head>
<body>
    <form id="form1" runat="server">
    
      <h3>MenuEventArgs Example</h3>
    
      <asp:menu id="NavigationMenu"
        staticdisplaylevels="2"
        staticsubmenuindent="10" 
        orientation="Vertical"
        datasourceid="menusource" 
        onmenuitemdatabound="MenuItemDataBound_NavigationMenu" 
        runat="server">

      </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">
<script runat="server">

  Sub MenuItemDataBound_NavigationMenu(ByVal sender As Object, ByVal e As MenuEventArgs)
  
    ' Display an image for the Home menu item only by
    ' setting its ImageUrl property.
    If e.Item.Text = "Home" Then
    
      e.Item.ImageUrl = "Images\Home.jpg"
      
    End If
      
  End Sub

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>MenuEventArgs Example</title>
</head>
<body>
    <form id="Form1" runat="server">
    
      <h3>MenuEventArgs Example</h3>
    
      <asp:menu id="NavigationMenu"
        staticdisplaylevels="2"
        staticsubmenuindent="10" 
        orientation="Vertical"
        datasourceid="menusource" 
        onmenuitemdatabound="MenuItemDataBound_NavigationMenu" 
        runat="server">

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

Комментарии

Класс MenuEventArgs используется для хранения данных событий, передаваемых обработчику событий для событий в следующей таблице.

Событие Описание
MenuItemClick Происходит при щелчке элемента меню. Это событие обычно используется для синхронизации элемента управления с другим элементом Menu управления на странице.
MenuItemDataBound Происходит, когда элемент меню привязан к данным. Это событие обычно используется для изменения пункта меню перед его отображением в элементе Menu управления .

В зависимости от вызванного события вы можете получить доступ к элементу меню, выбранному пользователем, или к элементу меню, привязанном к данным, с помощью Item свойства .

Список начальных значений свойств для экземпляра класса MenuEventArgs см. в описании конструктора MenuEventArgs.

Конструкторы

MenuEventArgs(MenuItem)

Инициализирует новый экземпляр класса MenuEventArgs с помощью указанного пункта меню.

MenuEventArgs(MenuItem, Object, CommandEventArgs)

Инициализирует новый экземпляр класса MenuEventArgs с использованием указанного пункта меню, источника команд и аргументов события.

Свойства

CommandArgument

Получает аргумент для команды.

(Унаследовано от CommandEventArgs)
CommandName

Возвращает имя команды.

(Унаследовано от CommandEventArgs)
CommandSource

Возвращает объект Object, вызвавший появление события.

Item

Возвращает пункт меню, связанный с вызванным событием.

Методы

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetType()

Возвращает объект Type для текущего экземпляра.

(Унаследовано от Object)
MemberwiseClone()

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

Применяется к

См. также раздел