国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

ASP.NET中 ObjectDataSource控件的DataObjectTypeName屬性

2024-07-10 12:47:14
字體:
來源:轉載
供稿:網友

一、ObjectDataSource 控件說明

獲取或設置某個類的名稱,ObjectDataSource 控件將該類用于更新、插入或刪除數據操作中的參數,而不是從數據綁定控件傳遞個別的值。

您不用指定傳遞給 Update、Insert 和 Delete 方法的多個參數,而是可以創建一個累計多個數據字段值的對象。僅給方法傳遞這一個對象,而不是多個參數。

綁定到數據綁定控件的 ObjectDataSource 控件的默認行為是,數據綁定控件為數據源中的每個參數創建一個 Parameter 對象。如果業務對象有很多字段,則結果方法也有很多字段。DataObjectTypeName 屬性允許您為每個數據字段都指定一個具有屬性的類型。這樣,運行時不是給方法傳遞多個參數,而是創建一個對象并設置它的所有屬性。這一個對象添加到方法調用的參數集合中。

二、DataObjectTypeName 屬性的使用

DataObjectTypeName 屬性指定的類型必須有一個不帶參數的默認構造函數,以便 ObjectDataSource 控件可以創建此類型的實例。此類型還必須具有可設置的屬性,允許 ObjectDataSource 控件用數據綁定控件傳遞的值填充對象。ObjectDataSource 控件的屬性名應該與數據綁定控件傳遞的值的參數名完全匹配。

當設置了 DataObjectTypeName 屬性并且 ObjectDataSource 控件與數據綁定控件關聯時,由 InsertMethod 和 DeleteMethod 屬性指定的方法必須各有一個在 DataObjectTypeName 屬性中指定的類型的參數。如果 ConflictDetection 屬性設置為 OverwriteChanges 值,則由 UpdateMethod 屬性指定的方法必須有一個在 DataObjectTypeName 屬性中指定的類型的參數。如果 ConflictDetection 屬性設置為 CompareAllValues 值,則由 UpdateMethod 屬性指定的方法必須有兩個在 DataObjectTypeName 屬性中指定的類型的參數。第一個參數包含原始值;第二個參數包含新值。

DataObjectTypeName 屬性委托給與 ObjectDataSource 控件關聯的 ObjectDataSourceView 的 DataObjectTypeName 屬性。

三、示例代碼

下面的代碼示例演示如何使用 DataObjectTypeName 屬性,實現一個將所有參數值合并為一個對象的類型。AggregateData 類的選擇方法返回一個有兩個名為 Name 和 Number 的列的 DataTable 對象。同樣,NewData 類定義兩個讀/寫屬性 Name 和 Number。AggregateData 類的 Insert 方法帶 NewData 類型的一個參數。ObjectDataSource 的 TypeName 屬性設置為 AggregateData,DataObjectTypeName 屬性設置為 NewData。

前臺代碼:

<%@ 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"> <script runat="server"></script><html xmlns="http://www.w3.org/1999/xhtml" ><head runat="server">  <title>ObjectDataSource - DataObjectTypeName Property Example</title></head><body>  <form id="form1" runat="server">  <div>    <asp:DetailsView       ID="DetailsView1"       runat="server"       AllowPaging="True"       AutoGenerateInsertButton="True"      DataSourceID="ObjectDataSource1"       Height="50px"       Width="125px">    </asp:DetailsView>    <asp:ObjectDataSource       ID="ObjectDataSource1"       runat="server"       DataObjectTypeName="Samples.AspNet.CS.NewData"      InsertMethod="Insert"       SelectMethod="Select"       TypeName="Samples.AspNet.CS.AggregateData">    </asp:ObjectDataSource>  </div>  </form></body></html>            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 夏邑县| 加查县| 德格县| 楚雄市| 平谷区| 山东| 松潘县| 呼伦贝尔市| 彭山县| 澳门| 洛扎县| 湖口县| 海淀区| 阿尔山市| 阳春市| 尤溪县| 宜昌市| 龙江县| 民县| 都兰县| 朝阳区| 隆尧县| 东阿县| 定日县| 湘阴县| 天长市| 长丰县| 阳江市| 扶沟县| 桐柏县| 盱眙县| 贡觉县| 塔城市| 鲁甸县| 湾仔区| 天津市| 呼图壁县| 新巴尔虎左旗| 洛川县| 汽车| 友谊县|