首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> 關於ASP.NET

ASP.NET 2.0 數據教程(六):程式化設定 ObjectDataSource 參數值與 Selecting 事件應用

     編輯:關於ASP.NET

返回 ASP.NET 2.0 數據教程目錄

導言

如前教程 聲明參數 所見,有多種方式將參數值傳遞至 ObjectDataSource` 方法。若參數值採硬編碼、來自頁面 Web 控制項、或其他 Parameter` 物件可讀取來源,可繫結至輸入參數無需撰寫程式碼。

但有時參數值來自 Parameter` 物件尚未計算來源。例:網站支援會員系統,參數可能基於當前登入用戶;或參數傳送至 ObjectDataSource` 隱含物件方法前需客製化。

每當呼叫 ObjectDataSource` 的 Select` 方法,先觸發 Selecting` 事件,再呼叫隱含物件方法,完成後觸發 Selected` 事件(圖 1 說明事件順序)。可在 Selecting` 事件委派中設定或更改參數值。

圖 1:ObjectDataSource Selected 與 Selecting 事件分別在呼叫隱含物件方法前後觸發

圖 1:ObjectDataSource 的 Selected 和 Selecting 事件分別在調用它的隱含對象的方法之前和之後觸發

本節範例

加入接受輸入參數方法至 DAL、BLL,參數 Month`、int` 類型,回傳 EmployeesDataTable` 含指定月份僱用週年紀念員工。範例程式碼設定基於當前月份,顯示「本月僱用週年紀念員工」列表。

第一步:EmployeesTableAdapter 新增方法

首例需加入方法取得僱用日期(HireDate`)在指定月份員工。程式架構下提供此功能,先在對應 SQL 陳述式映射出來的 EmployeesTableAdapter` 建立方法。開啟 Northwind 型別化資料集,EmployeesTableAdapter` 標籤右鍵選「新增查詢」(見圖 2)。

圖 2:在 EmployeesTableAdapter 加入查詢

圖 2:在 EmployeesTableAdapter 裡新增一個查詢

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

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

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

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved