如何:允许用户选择 DataList Web 服务器控件中的项

更新:2007 年 11 月

可以指定用户可选择 DataList Web 服务器控件中的各项。通常选定某项后会看到它突出显示。另外,可以为选定项显示不同信息。

允许用户选择 DataList 控件中的项

  1. 创建一个 SelectedItemTemplate,为选择项定义标记和控件的布局。有关详细信息,请参见 ASP.NET Web 服务器控件模板

  2. 设置控件的 SelectedItemStyle 属性。有关详细信息,请参见 ASP.NET Web 服务器控件和 CSS 样式

  3. 在 ItemTemplate 和 AlternatingItemTemplate(如果使用)中,添加一个 Button 或 LinkButton Web 服务器控件。

  4. 将步骤 3 添加的按钮的 CommandName 属性设置为 select(区分大小写)。

  5. DataList 控件的 SelectedIndexChanged 事件创建一个事件处理程序。在该事件处理程序中,调用控件的 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 Web 服务器控件添加到 SelectedItem 模板,并将其 CommandName 属性设置为“unselect”。此按钮的 Click 事件也将转发给 DataGrid 控件的 ItemCommand 事件。

完整的代码类似如下所示:

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 Web 服务器控件概述