如何:允许用户选择 DataList Web 服务器控件中的项
更新:2007 年 11 月
可以指定用户可选择 DataList Web 服务器控件中的各项。通常选定某项后会看到它突出显示。另外,可以为选定项显示不同信息。
允许用户选择 DataList 控件中的项
创建一个 SelectedItemTemplate,为选择项定义标记和控件的布局。有关详细信息,请参见 ASP.NET Web 服务器控件模板。
设置控件的 SelectedItemStyle 属性。有关详细信息,请参见 ASP.NET Web 服务器控件和 CSS 样式。
在 ItemTemplate 和 AlternatingItemTemplate(如果使用)中,添加一个 Button 或 LinkButton Web 服务器控件。
将步骤 3 添加的按钮的 CommandName 属性设置为 select(区分大小写)。
为 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