更新:2007 年 11 月
您可以使 GridView、DetailsView、FormView、ListView、DataList 或 Repeater 等控制項,與 LinqDataSource、ObjectDataSource 或 SqlDataSource 等資料來源控制項產生關聯。您也可以使用控制項的樣板 (ListView、DataList、Repeater 和 FormView 控制項需要樣板),利用設計工具中的自訂使用者介面 (UI) 自訂資料展示。
這個主題說明將 UI 控制項 (例如 TextBox 控制項) 加入至樣板,然後將控制項繫結至特定資料的過程。
若要將樣板控制項繫結至資料來源
在頁面上建立有效的資料來源 (例如 SqlDataSource 控制項) 並註明 ID 屬性值。
例如:
<asp:SqlDataSource ID="SqlDataSource1" Runat="server" SelectCommand="SELECT CustomerID, CompanyName FROM Customers" ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString %>"> </asp:SqlDataSource>如需如何將 SqlDataSource 控制項與資料庫搭配使用的詳細資訊,請參閱SqlDataSource Web 伺服器控制項概觀。
從 [工具箱] 的 [資料] 群組中,將 DataList 控制項拖曳至頁面。
[DataList 工作] 快速鍵功能表隨即出現。
- 如果 [DataList 工作] 快速鍵功能表沒有出現,請以滑鼠右鍵按一下 DataList 控制項,然後按一下 [顯示智慧標籤]。
在 [選擇資料來源] 清單中,按一下步驟 1 中建立的 SqlDataSource 控制項。
當頁面呈現時,控制項會顯示查詢的所有資料行和資料,不含自訂。視資料而定,將顯示包含預設繫結欄位的 DataList 控制項,如下列程式碼範例所示:
<asp:DataList ID="DataList1" DataKeyField="CustomerID" DataSourceID="SqlDataSource1"> <ItemTemplate> CustomerID: <asp:Label ID="CustomerIDLabel" Text='<%# Eval("CustomerID") %>'> </asp:Label><br /> CompanyName: <asp:Label ID="CompanyNameLabel" Text='<%# Eval("CompanyName") %>'> </asp:Label><br /> <br /> </ItemTemplate> </asp:DataList>
若要編輯控制項的樣板
在 [設計] 檢視中,以滑鼠右鍵按一下 DataList 控制項,然後按一下 [顯示智慧標籤]。
在 [DataList 工作] 功能表上,按一下 [編輯樣板]。
您現在可以在設計工具中編輯樣板。您可以將其他控制項拖曳至稍後要繫結的樣板。
在 [顯示] 清單中,按一下 [AlternatingItemTemplate] (不同的控制項支援不同的樣板)。
在 AlternatingItemTemplate 設計區中,輸入 CustomerID:,然後從 [工具箱] 的 [標準] 群組中,將 T:System.Web.UI.WebControls.Label 控制項拖曳至 DataList 控制項。
在 [標籤工作] 功能表上,按一下 [編輯資料繫結]。
在 [LabelName DataBindings] 對話方塊的 [可繫結的屬性] 下方,按一下 [文字]。
在 [文字的繫結] 下方的 [繫結至] 清單中,按一下 [CustomerID]。
針對 CompanyName 重複執行步驟 4 至 7。
在 [AlternatingItemTemplate] 設計區中,選取所有內容,然後再按 CTRL+B 將文字變更為粗體。
在 DataList 控制項按一下滑鼠右鍵,再按 [顯示智慧標籤]。
按一下 [結束樣板編輯] 結束樣板編輯模式。
當頁面顯示在瀏覽器中時,公司清單會在純文字和粗體文字間交替顯示。