Menu.MenuItemDataBound Menu.MenuItemDataBound Menu.MenuItemDataBound Menu.MenuItemDataBound Event

定義

Menu コントロールのメニュー項目がデータにバインドされると発生します。Occurs when a menu item in a Menu control is bound to data.

public:
 event System::Web::UI::WebControls::MenuEventHandler ^ MenuItemDataBound;
public event System.Web.UI.WebControls.MenuEventHandler MenuItemDataBound;
member this.MenuItemDataBound : System.Web.UI.WebControls.MenuEventHandler 
Public Custom Event MenuItemDataBound As MenuEventHandler 

次のコード例は、 MenuItemDataBound Menuコントロールに表示される前にHomeメニュー項目のテキストを変更するイベントのイベントハンドラーを作成する方法を示しています。The following code example demonstrates how to create an event handler for the MenuItemDataBound event that modifies the text of the Home menu item before it is displayed in a Menu control.


<%@ 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 NavigationMenu_MenuItemDataBound(Object sender, MenuEventArgs e)
  {
    // Modify the text of the Home menu item by 
    // adding parenthesis around the text. 
    if (e.Item.Text == "Home")
    {
      e.Item.Text = "(" + e.Item.Text + ")";
    }
  }
  
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>Menu MenuItemDataBound Example</title>
</head>
<body>
    <form id="form1" runat="server">
    
      <h3>Menu MenuItemDataBound Example</h3>
    
      <asp:menu id="NavigationMenu"
        staticdisplaylevels="2"
        staticsubmenuindent="10" 
        orientation="Vertical"
        target="_blank"
        datasourceid="MenuSource"
        onmenuitemdatabound="NavigationMenu_MenuItemDataBound"    
        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 NavigationMenu_MenuItemDataBound(ByVal sender As Object, ByVal e As MenuEventArgs)
  
    ' Modify the text of the Home menu item by 
    ' adding parenthesis around the text. 
    If e.Item.Text = "Home" Then
    
      e.Item.Text = "(" & e.Item.Text & ")"
    
    End If
      
  End Sub
  
</script>

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

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

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

注釈

イベントMenuItemDataBoundは、メニュー項目がMenuコントロールのデータにバインドされると発生します。The MenuItemDataBound event is raised when a menu item is bound to data in a Menu control. これにより、このイベントが発生するたびにカスタムコンテンツの追加や、レンダリング前にメニュー項目の変更などのカスタムルーチンを実行するイベントハンドラーを提供できます。This allows you to provide an event handler that performs a custom routine, such as adding custom content or modifying a menu item before it is rendered, whenever this event occurs.

MenuEventArgsオブジェクトがイベントハンドラーに渡されます。これにより、イベントを発生させたメニュー項目のプロパティにアクセスできます。A MenuEventArgs object is passed to the event handler, which allows you to access the properties of the menu item that raised the event.

イベントを処理する方法の詳細については、次を参照してください。処理とイベントの発生します。For more information about how to handle events, see Handling and Raising Events.

適用対象

こちらもご覧ください