如前教程 聲明參數 所見,有多種方式將參數值傳遞至 ObjectDataSource` 方法。若參數值採硬編碼、來自頁面 Web 控制項、或其他 Parameter` 物件可讀取來源,可繫結至輸入參數無需撰寫程式碼。
但有時參數值來自 Parameter` 物件尚未計算來源。例:網站支援會員系統,參數可能基於當前登入用戶;或參數傳送至 ObjectDataSource` 隱含物件方法前需客製化。
每當呼叫 ObjectDataSource` 的 Select` 方法,先觸發 Selecting` 事件,再呼叫隱含物件方法,完成後觸發 Selected` 事件(圖 1 說明事件順序)。可在 Selecting` 事件委派中設定或更改參數值。

圖 1:ObjectDataSource 的 Selected 和 Selecting 事件分別在調用它的隱含對象的方法之前和之後觸發
加入接受輸入參數方法至 DAL、BLL,參數 Month`、int` 類型,回傳 EmployeesDataTable` 含指定月份僱用週年紀念員工。範例程式碼設定基於當前月份,顯示「本月僱用週年紀念員工」列表。
首例需加入方法取得僱用日期(HireDate`)在指定月份員工。程式架構下提供此功能,先在對應 SQL 陳述式映射出來的 EmployeesTableAdapter` 建立方法。開啟 Northwind 型別化資料集,EmployeesTableAdapter` 標籤右鍵選「新增查詢」(見圖 2)。

圖 2:在 EmployeesTableAdapter 裡新增一個查詢
選擇回傳一或多列行 SQL 陳述式。到達指定 SELECT` 陳述式視窗,EmployeesTableAdapter` 已載入預設 SELECT`。簡單加 WHERE` 子句:WHERE DATEPART(m, HireDate) = @Month`。DATEPART` 為 T-SQL 函數回傳日期類型一部分;此用 DATEPART` 回傳 HireDate` 列月份部分(見圖 3)。

圖 3:僅回傳 HireDate 列的值小於等於參數 @HiredBeforeDate 的行