Menu.PathSeparator プロパティ

定義

Menu コントロールのメニュー項目のパスの区切り文字を取得または設定します。

public:
 property char PathSeparator { char get(); void set(char value); };
public char PathSeparator { get; set; }
member this.PathSeparator : char with get, set
Public Property PathSeparator As Char

プロパティ値

メニュー項目のパスの区切り文字。 既定値はスラッシュ (/) です。

次のコード例では、 プロパティを PathSeparator 使用して、メニュー項目の値パスの区切り文字をコンマに変更する方法を示します。


<%@ 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 Page_Load(Object sender, EventArgs e)
  {
    // The value path for a menu item is a delimited list
    // of menu text values that form a path from the root 
    // menu item to the current menu item.

    // Declare the value path to the Classical menu item using
    // the delimiter character specified in the PathSeparator
    // property. In this example, the delimiter character is a
    // comma.
    String valuePath = "Home,Music,Classical";
    
    // Use the FindItem method to get the Classical menu item using
    // its value path.
    MenuItem item = NavigationMenu.FindItem(valuePath);
    
    // Indicate whether the menu item was found.
    if (item != null)
    {
      Message.Text = item.Text + " menu item found at depth " + 
        item.Depth.ToString() + ".";
    }
    else
    {
      Message.Text = "Menu item not found.";
    }
  }
  
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>Menu PathSeparator and FindItem Example</title>
</head>
<body>
    <form id="form1" runat="server">
    
      <h3>Menu PathSeparator and FindItem Example</h3>
    
      <!-- Use the PathSeparator property to  -->
      <!-- change the delimiter character for -->
      <!-- the value path of a menu item to a -->
      <!-- comma (,).                         -->
      <asp:menu id="NavigationMenu"
        staticdisplaylevels="2"
        staticsubmenuindent="10" 
        orientation="Vertical"
        pathseparator="," 
        runat="server">
      
        <items>
          <asp:menuitem text="Home"
            tooltip="Home">
            <asp:menuitem text="Music"
              tooltip="Music">
              <asp:menuitem text="Classical"
                tooltip="Classical"/>
              <asp:menuitem text="Rock"
                tooltip="Rock"/>
              <asp:menuitem text="Jazz"
                tooltip="Jazz"/>
            </asp:menuitem>
            <asp:menuitem text="Movies"
              tooltip="Movies">
              <asp:menuitem text="Action"
                tooltip="Action"/>
              <asp:menuitem text="Drama"
                tooltip="Drama"/>
              <asp:menuitem text="Musical"
                tooltip="Musical"/>
            </asp:menuitem>
          </asp:menuitem>
        </items>
      
      </asp:menu>
      
      <hr/>
      
      <asp:label id="Message" 
        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 Page_Load(ByVal sender As Object, ByVal e As EventArgs)
 
    ' The value path for a menu item is a delimited list
    ' of menu text values that form a path from the root 
    ' menu item to the current menu item.

    ' Declare the value path to the Classical menu item using
    ' the delimiter character specified in the PathSeparator
    ' property. In this example, the delimiter character is a
    ' comma.
    Dim valuePath As String = "Home,Music,Classical"
    
    ' Use the FindItem method to get the Classical menu item using
    ' its value path.
    Dim item As MenuItem = NavigationMenu.FindItem(valuePath)
    
    ' Indicate whether the menu item was found.
    If Not item Is Nothing Then
    
      Message.Text = item.Text & " menu item found at depth " & _
        item.Depth.ToString() & "."
    
    Else
    
      Message.Text = "Menu item not found."
    
    End If
      
  End Sub
  
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>Menu PathSeparator and FindItem Example</title>
</head>
<body>
    <form id="form1" runat="server">
    
      <h3>Menu PathSeparator and FindItem Example</h3>
    
      <!-- Use the PathSeparator property to  -->
      <!-- change the delimiter character for -->
      <!-- the value path of a menu item to a -->
      <!-- comma (,).                         -->
      <asp:menu id="NavigationMenu"
        staticdisplaylevels="2"
        staticsubmenuindent="10" 
        orientation="Vertical"
        pathseparator="," 
        runat="server">
      
        <items>
          <asp:menuitem text="Home"
            tooltip="Home">
            <asp:menuitem text="Music"
              tooltip="Music">
              <asp:menuitem text="Classical"
                tooltip="Classical"/>
              <asp:menuitem text="Rock"
                tooltip="Rock"/>
              <asp:menuitem text="Jazz"
                tooltip="Jazz"/>
            </asp:menuitem>
            <asp:menuitem text="Movies"
              tooltip="Movies">
              <asp:menuitem text="Action"
                tooltip="Action"/>
              <asp:menuitem text="Drama"
                tooltip="Drama"/>
              <asp:menuitem text="Musical"
                tooltip="Musical"/>
            </asp:menuitem>
          </asp:menuitem>
        </items>
      
      </asp:menu>
      
      <hr/>
      
      <asp:label id="Message" 
        runat="server"/>

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

注釈

コントロールの各メニュー項目 (オブジェクトでMenuItemMenu表されます) には、ValuePathメニュー項目の位置を指定する プロパティがあります。 値パスは、ルート メニュー項目から現在のメニュー項目へのパスを形成する区切られた値の文字列です。 プロパティを PathSeparator 使用して、メニュー パスの値を区切るために使用する区切り文字を指定します。 この値は、個々の値のリストを解析するときによく使用されます。

コントロールに表示される Menu テキストによっては、競合を防ぐために区切り文字を変更する必要がある場合があります。 たとえば、区切り文字をコンマに設定した場合、表示されるテキストにはコンマを含めないようにする必要があります。それ以外の場合、 ValuePath プロパティを正確に解析できません。

適用対象

こちらもご覧ください