Практическое руководство. Выбор пользователями элементов в серверном веб-элементе управления DataList

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

Можно разрешить выбор пользователями отдельных элементов в серверном веб-элементе управления DataList. Выбранный элемент обычно выделяется. Кроме того, можно отобразить различные сведения о выделенном элементе.

Выбор пользователями элементов в серверном веб-элементе управления DataList

  1. Установите свойство SelectedItemTemplate, определяющее разметку и элементы управления для выбранного элемента. Дополнительные сведения см. в разделе Шаблоны серверных веб-элементов управления ASP.NET.

  2. Установите свойства SelectedItemStyle элемента управления. Дополнительные сведения см. в разделе Серверные веб-элементы управления ASP.NET и стили CSS.

  3. В элемент ItemTemplate (и AlternatingItemTemplate, если он используется) добавьте серверный веб-элемент управления Button или LinkButton.

  4. Присвойте свойству CommandName кнопки, которая добавлена на шаге 3, значение select (регистр знаков учитывается).

  5. Создайте обработчик для события SelectedIndexChanged элемента управления DataList. В обработчике событий определите вызов метода DataBind элемента управления, который используется для обновления сведений об элементе. Полный код может выглядеть следующим образом:

    Protected Sub DataList1_SelectedIndexChanged(ByVal sender As _
            System.Object, ByVal e As System.EventArgs) _
            Handles DataList1.SelectedIndexChanged
       DataList1.DataBind()
    End Sub
    
    protected void DataList1_SelectedIndexChanged (object sender, 
        System.EventArgs e)
    {
       DataList1.DataBind();
    }
    

Чтобы отменить операцию выбора, присвойте свойству SelectedIndex элемента управления значение «-1». Для этого можно добавить серверный веб-элемент управления Button к шаблону SelectedItem и присвоить его свойству CommandName значение «unselect». Событие Click этой кнопки также перенаправляется в событие ItemCommand элемента управления DataGrid.

Полный код может выглядеть следующим образом:

Protected Sub DataList1_ItemCommand(ByVal source As Object, _
        ByVal e As DataListCommandEventArgs) _
        Handles DataList1.ItemCommand
   If e.CommandName = "unselect" Then
      DataList1.SelectedIndex = -1
   End If
   DataList1.DataBind()
End Sub

См. также

Ссылки

Общие сведения о серверном веб-элементе управления DataList