繫結至商務物件
更新:2007 年 11 月
商務應用程式通常會利用中介層資料存取層或商務元件,採用封裝的資料模型。一般而言,在 Web 應用程式中不但必須撰寫商務資料物件的程式碼,也要撰寫與元件通訊的其他程式碼,以及更多能將控制項繫結至由元件所管理之資料的程式碼。ASP.NET 資料來源控制項模型會簡化使用商務元件的工作,並藉由提供 ObjectDataSource 控制項、LINQ to SQL 類別,以及 LinqDataSource 控制項大幅減少或省略必須撰寫的程式碼。
ObjectDataSource 控制項
ObjectDataSource 控制項可以使用封裝資料並提供資料管理服務的任何商務物件。ObjectDataSource 控制項會使用標準資料來源控制項物件模型,以便讓資料繫結控制項 (例如 GridView 控制項) 能夠繫結。來源商務物件能夠直接管理資料存取,或是當做現有商務元件的包裝函式。如需詳細資訊,請參閱建立 ObjectDataSource 控制項來源物件。
將 ObjectDataSource 控制項的 TypeName 屬性設定為商務物件的型別 (類別名稱),使 ObjectDataSource 控制項與商務物件產生關聯。然後指定一個或多個 ObjectDataSource 在特定資料作業時所會呼叫的商務物件方法。ObjectDataSource 控制項的 SelectMethod 屬性,會識別用來擷取資料的來源商務物件方法。同樣地,InsertMethod、UpdateMethod 和 DeleteMethod 屬性會各自識別用來插入、更新和刪除作業的方法。
一旦使 ObjectDataSource 控制項與商務物件產生關聯,就可以使用資料繫結控制項的 DataSourceID 屬性,將控制項繫結至 ObjectDataSource 控制項,如下列程式碼範例所示。
<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.VB" Assembly="Samples.AspNet.VB" %>
<%@ Page language="vb" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>ObjectDataSource - Visual Basic Example</title>
</head>
<body>
<form id="Form1" method="post" >
<asp:gridview
id="GridView1"
datasourceid="ObjectDataSource1" />
<asp:objectdatasource
id="ObjectDataSource1"
selectmethod="GetAllEmployees"
typename="Samples.AspNet.VB.EmployeeLogic" />
</form>
</body>
</html>
<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.CS" Assembly="Samples.AspNet.CS" %>
<%@ Page language="c#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>ObjectDataSource - C# Example</title>
</head>
<body>
<form id="Form1" method="post" >
<asp:gridview
id="GridView1"
datasourceid="ObjectDataSource1" />
<asp:objectdatasource
id="ObjectDataSource1"
selectmethod="GetAllEmployees"
typename="Samples.AspNet.CS.EmployeeLogic" />
</form>
</body>
</html>
<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.JSL" Assembly="Samples.AspNet.JSL" %>
<%@ Page language="VJ#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>ObjectDataSource - VJ# Example</title>
</head>
<body>
<form id="Form1" method="post" >
<asp:gridview
id="GridView1"
datasourceid="ObjectDataSource1" />
<asp:objectdatasource
id="ObjectDataSource1"
selectmethod="GetAllEmployees"
typename="Samples.AspNet.JSL.EmployeeLogic" />
</form>
</body>
</html>
如需詳細資料,請參閱 ObjectDataSource Web 伺服器控制項概觀章節中的主題。
LINQ to SQL 類別
您可以使用物件關聯式設計工具來建立代表資料庫及其資料表的類別。由設計工具產生的類別會使用 LINQ to SQL 來執行資料擷取與修改作業。建立好類別之後,您就可以使用 LinqDataSource 控制項或 ObjectDataSource 控制項來繫結至資料物件。如需 LinqDataSource 控制項的詳細資訊,請參閱 LinqDataSource Web 伺服器控制項概觀。如需 LINQ 和 ASP.NET 的詳細資訊,請參閱搭配 ASP.NET 使用 LINQ。