次の方法で共有


Menu.MenuItemDataBound イベント

定義

Menu コントロールのメニュー項目がデータにバインドされると発生します。

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 テキストを変更するイベントの Home イベント ハンドラーを作成する方法を Menu 示します。


<%@ 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 のデータにバインドされるときに発生します。 これにより、このイベントが発生するたびに、カスタム コンテンツの追加やメニュー項目のレンダリング前の変更など、カスタム ルーチンを実行するイベント ハンドラーを提供できます。

MenuEventArgsオブジェクトはイベント ハンドラーに渡されます。これにより、イベントを発生させたメニュー項目のプロパティにアクセスできます。

イベントを処理する方法の詳細については、次を参照してください。処理とイベントの発生します。

適用対象

こちらもご覧ください