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


MenuItemBindingCollection.Remove(MenuItemBinding) Метод

Определение

Удаляет указанный объект MenuItemBinding из коллекции.

public:
 void Remove(System::Web::UI::WebControls::MenuItemBinding ^ binding);
public void Remove (System.Web.UI.WebControls.MenuItemBinding binding);
member this.Remove : System.Web.UI.WebControls.MenuItemBinding -> unit
Public Sub Remove (binding As MenuItemBinding)

Параметры

binding
MenuItemBinding

Объект MenuItemBinding, который требуется удалить из коллекции.

Примеры

В следующем примере кода показано, как использовать Remove метод для удаления MenuItemBinding объекта из коллекции. Чтобы этот пример работал правильно, необходимо скопировать приведенный ниже пример XML-данных в файл с именем Map.xml.


<%@ 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)
  {
    if(!IsPostBack)
    {
      // Create the menu item bindings for the Menu control.
      MenuItemBinding binding;
      
      binding = CreateMenuItemBinding("MapHomeNode", 0, "title", "url");
      NavigationMenu.DataBindings.Add(binding);

      binding = CreateMenuItemBinding("MapNode", 1, "title", "url");
      NavigationMenu.DataBindings.Add(binding);

      binding = CreateMenuItemBinding("MapNode", 2, "title", "url");
      NavigationMenu.DataBindings.Add(binding);
        
      // Use the Remove method to remove the last MenuItemBinding 
      // object.
        NavigationMenu.DataBindings.Remove(binding);

    }
  }

  // This is a helper method to create a MenuItemBinding 
  // object from the specified parameters.
  MenuItemBinding CreateMenuItemBinding(String dataMember, int depth, String textField, String navigateUrlField)
  {
    // Create a new MenuItemBinding object.
    MenuItemBinding binding = new MenuItemBinding();

    // Set the properties of the MenuItemBinding object.
    binding.DataMember = dataMember;
    binding.Depth = depth;
    binding.TextField = textField;
    binding.NavigateUrlField = navigateUrlField;

    return binding;
  }
    
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>MenuItemBindingCollection Remove Example</title>
</head>
<body>
    <form id="form1" runat="server">
    
      <h3>MenuItemBindingCollection Remove Example</h3>
    
      <asp:menu id="NavigationMenu"
        staticdisplaylevels="2"
        staticsubmenuindent="10" 
        orientation="Vertical"
        target="_blank"
        datasourceid="MenuSource"
        runat="server">
        
        <DataBindings>
          <asp:menuitembinding datamember="MapHomeNode" 
            depth="0"
            textfield="title" 
            navigateurlfield="url"/>
          <asp:menuitembinding datamember="MapNode" 
            depth="1"
            textfield="title" 
            navigateurlfield="url"/>
          <asp:menuitembinding datamember="MapNode" 
            depth="2"
            textfield="title" 
            navigateurlfield="url"/>
          <asp:menuitembinding datamember="ExtraMapNode" 
            depth="3"
            textfield="title" 
            navigateurlfield="url"/>
        </DataBindings>
                
      </asp:menu>
      
      <asp:xmldatasource id="MenuSource"
        datafile="Map.xml"
        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)

    If Not IsPostBack Then
    
            ' Create the menu item bindings for the Menu control.
            Dim binding As MenuItemBinding
      
            binding = CreateMenuItemBinding("MapHomeNode", 0, "title", "url")
            NavigationMenu.DataBindings.Add(binding)

            binding = CreateMenuItemBinding("MapNode", 1, "title", "url")
            NavigationMenu.DataBindings.Add(binding)

            binding = CreateMenuItemBinding("MapNode", 2, "title", "url")
            NavigationMenu.DataBindings.Add(binding)
            
            ' Use the Remove method to remove the MenuItemBinding 
            ' object.
            NavigationMenu.DataBindings.Remove(binding)
   
        End If
    
    End Sub

    ' This is a helper method to create a MenuItemBinding 
    ' object from the specified parameters.
    Function CreateMenuItemBinding(ByVal dataMember As String, ByVal depth As Integer, ByVal textField As String, ByVal navigateUrlField As String) As MenuItemBinding
  
        ' Create a new MenuItemBinding object.
        Dim binding As New MenuItemBinding()

        ' Set the properties of the MenuItemBinding object.
        binding.DataMember = dataMember
        binding.Depth = depth
        binding.TextField = textField
        binding.NavigateUrlField = navigateUrlField

        Return binding
    
    End Function
    
    
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>MenuItemBindingCollection Remove Example</title>
</head>
<body>
    <form id="form1" runat="server">
    
      <h3>MenuItemBindingCollection Remove Example</h3>
    
      <asp:menu id="NavigationMenu"
        staticdisplaylevels="2"
        staticsubmenuindent="10" 
        orientation="Vertical"
        target="_blank"
        datasourceid="MenuSource"
        runat="server">
        
        <DataBindings>
          <asp:menuitembinding datamember="MapHomeNode" 
            depth="0"
            textfield="title" 
            navigateurlfield="url"/>
          <asp:menuitembinding datamember="MapNode" 
            depth="1"
            textfield="title" 
            navigateurlfield="url"/>
          <asp:menuitembinding datamember="MapNode" 
            depth="2"
            textfield="title" 
            navigateurlfield="url"/>
          <asp:menuitembinding datamember="ExtraMapNode" 
            depth="3"
            textfield="title" 
            navigateurlfield="url"/>
        </DataBindings>
                
      </asp:menu>
      
      <asp:xmldatasource id="MenuSource"
        datafile="Map.xml"
        runat="server"/>        

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

Ниже приведен пример данных карты сайта для предыдущего примера.

<MapHomeNode url="~\Home.aspx"

title="Home"

description="Home">

<MapNode url="~\Music.aspx"

title="Music"

description="Music">

<MapNode url="~\Classical.aspx"

title="Classical"

description="Classical"/>

<MapNode url="~\Rock.aspx"

title="Rock"

description="Rock"/>

<MapNode url="~\Jazz.aspx"

title="Jazz"

description="Jazz"/>

</MapNode>

<MapNode url="~\Movies.aspx"

title="Movies"

description="Movies">

<MapNode url="~\Action.aspx"

title="Action"

description="Action"/>

<MapNode url="~\Drama.aspx"

title="Drama"

description="Drama"/>

<MapNode url="~\Musical.aspx"

title="Musical"

description="Musical"/>

</MapNode>

</MapHomeNode>

Комментарии

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

Примечание

Коллекция может содержать значения NULL, а также повторяющиеся MenuItemBinding объекты.

В качестве альтернативы можно удалить пункт меню из определенного индекса в коллекции с помощью RemoveAt метода . Вы также можете удалить все пункты меню из коллекции с помощью Clear метода .

Примечание

Порядок, в котором MenuItemBinding объекты отображаются в коллекции, не влияет на то, как эти объекты применяются к элементам меню в элементе Menu управления .

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

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