上章 使用 ObjectDataSource 展現數據 見 GridView`、`DetailsView`、`FormView` 繫結 ObjectDataSource` 顯示資料,ObjectDataSource` 呼叫 ProductsBLL` 類別 GetProducts()` 方法回傳 Northwind Products` 表所有記錄組成強型別資料表。ProductsBLL` 含其他回傳部分資料方法:GetProductByProductID(productID)`、`GetProductsByCategoryID(categoryID)`、`GetProductsBySupplierID(supplierID)`。三方法需輸入參數指示如何篩選回傳產品資料。
ObjectDataSource` 可呼叫需傳入參數方法,但需指定參數值來源。參數值可硬編碼傳入,或動態從來源獲取:查詢字串(QueryString`)、工作階段變數(Session`)、頁面控制項屬性值等。
本章教程舉例說明參數設定硬編碼值。特別:加入 DetailsView` 顯示名為「Chef Anton's Gumbo Mix」特定產品,ProductID` 為 5。下步看如何基於 Web 控制項設定參數值。特別:用 TextBox` 讓用戶輸入國家,點擊按鈕後列出駐該國供應商。
首例:在 BasicReporting` 資料夾 DeclarativeParams.aspx` 加入 DetailsView`。從智慧標籤下拉選單選「<新建資料源...>`」,選擇新增 ObjectDataSource`(見圖 1)。

圖 1:新增一個 ObjectDataSource 到頁面
自動開啟 ObjectDataSource` 配置資料源導航。第一屏選擇 ProductsBLL` 類別(見圖 2)。

圖 2:選擇類別 ProductsBLL
顯示特定產品資訊,應用 GetProductByProductID(productID)` 方法(見圖 3)。

圖 3:選擇 GetProductByProductID(productID) 方法