HOW TO:允許使用者選取 DataList Web 伺服器控制項中的項目
更新:2007 年 11 月
您可以指定讓使用者能夠選取 DataList Web 伺服器控制項中的個別項目。一般來說,項目在選取後,會以反白的視覺方式來顯示。除此之外,您還可為選取的項目顯示不同資訊。
若要讓使用者選取 DataList 控制項中的項目
請建立 SelectedItemTemplate,以定義標記 (Markup) 配置以及選取項目的控制項。如需詳細資訊,請參閱ASP.NET Web 伺服器控制項樣板。
設定控制項的 SelectedItemStyle 屬性。如需詳細資訊,請參閱 ASP.NET Web 伺服器控制項和 CSS 樣式。
在 ItemTemplate 中加入 Button 或 LinkButton Web 伺服器控制項 (如果您正在使用 AlternatingItemTemplate 的話,也要在其中加入)。
將步驟 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