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


Практическое руководство. Реагирование на события кнопок в элементах управления с привязкой к данным

Обновлен: Ноябрь 2007

Если элементы управления с привязкой к данным используются вместе с шаблонами (например, элементы управления DataList или FormView control), а шаблоны включают в себя серверные веб-элементы управления Button, LinkButton или ImageButton, то кнопки могу переадресовывать свои события Click в родительский элемент управления. Это позволяет создавать кнопки с настраиваемой функциональностью, которая еще не определена для элемента управления с привязкой к данным (например редактирование, удаление, обновление и отмена).

Чтобы отреагировать на события кнопок в элементах управления с привязкой к данным

  1. Добавьте в шаблон элемента управления Button, LinkButton или ImageButton.

  2. Задайте свойство CommandName кнопки строке, описывающей ее функциональность, например, "sort" или "copy".

  3. Создайте метод для события ItemCommand элемента управления. В методе выполните следующее:

    1. Изучите свойство CommandName объекта аргумента события, чтобы увидеть переданную строку.

    2. Выполните необходимые действия, соответствующие нажатой кнопке.

    Следующий пример демонстрирует реакцию на нажатие кнопки в элементе управления DataList. В примере шаблон ItemTemplate содержит элемент управления ImageButton, который отображает покупательскую корзину. Кнопка посылает команду AddToCart. Обработчик событий определяет, какая кнопка была нажата, и, если это кнопка корзины, осуществляет соответствующие действия.

    Private Sub DataList1_ItemCommand(ByVal source As Object, _
            ByVal e As DataListCommandEventArgs) _
            Handles DataList1.ItemCommand
        If (e.CommandName = "AddToCart") Then
           ' Add code here to add the item to the shopping cart.
           ' Use the value of e.Item.ItemIndex to find the data row
           ' in the data source.
        End If
    End Sub
    
    private void DataList1_ItemCommand(object source, 
        DataListCommandEventArgs e)
    {
        if (e.CommandName == "AddToCart")
        {
            // Add code here to add the item to the shopping cart.
            // Use the value of e.Item.ItemIndex to find the data row
            // in the data source.
        }
    }
    

См. также

Задачи

Практическое руководство. Создание обработчиков событий на веб-страницах ASP.NET

Основные понятия

Общие сведения о серверных веб-элементах управления ASP.NET с привязкой к данным