| Visual Basic 和 Visual C# 概念 |
可以指定用户可选择 DataList Web 服务器控件中的单个项。通常选定某项后会看到它突出显示。另外,可以为选定项显示不同信息。
允许用户选择 DataList 控件中的项
- 设置控件的 SelectedItemStyle 属性。有关详细信息,请参见使用样式自定义 ASP.NET 服务器控件的外观。
- 可以选择创建 SelectedItemTemplate 以便为选定项显示不同文本和控件。有关详细信息,请参见创建 Web 服务器控件模板。
- 在 ItemTemplate 中(和 AlternatingItemTemplate 中,如果要使用它的话),添加一个 Button 或 LinkButton Web 服务器控件。
- 将来自步骤 3 的按钮的 CommandName 属性设置为 select(区分大小写)。
- 如果已经创建了单独的 SelectedItemTemplate,则需要对选定内容重新绑定列表。为控件的 SelectedIndexChanged 事件创建一个事件处理程序。有关详细信息,请参见在 Web 窗体页中创建事件处理程序。在该事件处理程序中,调用控件的 DataBind 方法刷新该控件中的信息。完整的代码类似如下所示:
' Visual Basic Private Sub DataList1_SelectedIndexChanged( _ ByVal sender As System.Object, ByVal e As System.EventArgs) _ Handles DataList1.SelectedIndexChanged DataList1.DataBind() End Sub // C# private void DataList1_SelectedIndexChanged (object sender, System.EventArgs e) { DataList1.DataBind(); } - 若要取消选择,请将控件的 SelectedIndex 属性设置为 -1。若要实现此目的,可将 Button Web 服务器控件添加到 SelectedItem 模板,并将其 CommandName 属性设置为 unselect。此按钮的 Click 事件也被积极发送到 DataGrid 控件的 ItemCommand 事件。完整的代码类似如下所示:
' Visual Basic Private Sub DataList1_ItemCommand(ByVal source As Object, _ ByVal e As System.Web.UI.WebControls.DataListCommandEventArgs) _ Handles DataList1.ItemCommand If e.CommandName = "unselect" Then DataList1.SelectedIndex = -1 End If DataList1.DataBind() End Sub // C# private void DataList1_ItemCommand(object source, System.Web.UI.WebControls.DataListCommandEventArgs e) { if (e.CommandName == "unselect") { DataList1.SelectedIndex = -1; } DataList1.DataBind(); }
浙公网安备 33010602011771号