ASP.NET中 ObjectDataSource控件的DataObjectTypeName屬性__第1頁
ASP.NET中 ObjectDataSource控件的DataObjectTypeName屬性__第2頁
ASP.NET中 ObjectDataSource控件的DataObjectTypeName屬性__第3頁
ASP.NET中 ObjectDataSource控件的DataObjectTypeName屬性__第4頁
ASP.NET中 ObjectDataSource控件的DataObjectTypeName屬性__第5頁
已閱讀5頁,還剩3頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、ASP.NET中 ObjectDataSource控件的DataObjectTypeName屬性_ 一、ObjectDataSource 控件說明 獵取或設(shè)置某個類的名稱,ObjectDataSource 控件將該類用于更新、插入或刪除數(shù)據(jù)操作中的參數(shù),而不是從數(shù)據(jù)綁定控件傳遞個別的值。 您不用指定傳遞給 Update、Insert 和 Delete 方法的多個參數(shù),而是可以創(chuàng)建一個累計多個數(shù)據(jù)字段值的對象。僅給方法傳遞這一個對象,而不是多個參數(shù)。 綁定到數(shù)據(jù)綁定控件的 ObjectDataSource 控件的默認行為是,數(shù)據(jù)綁定控件為數(shù)據(jù)源中的每個參數(shù)創(chuàng)建一個 Parameter 對象。假如

2、業(yè)務(wù)對象有許多字段,則結(jié)果方法也有許多字段。DataObjectTypeName 屬性允許您為每個數(shù)據(jù)字段都指定一個具有屬性的類型。這樣,運行時不是給方法傳遞多個參數(shù),而是創(chuàng)建一個對象并設(shè)置它的全部屬性。這一個對象添加到方法調(diào)用的參數(shù)集合中。 二、DataObjectTypeName 屬性的用法 DataObjectTypeName 屬性指定的類型必需有一個不帶參數(shù)的默認構(gòu)造函數(shù),以便 ObjectDataSource 控件可以創(chuàng)建此類型的實例。此類型還必需具有可設(shè)置的屬性,允許 ObjectDataSource 控件用數(shù)據(jù)綁定控件傳遞的值填充對象。ObjectDataSource 控件的屬性

3、名應(yīng)當與數(shù)據(jù)綁定控件傳遞的值的參數(shù)名完全匹配。 當設(shè)置了 DataObjectTypeName 屬性并且 ObjectDataSource 控件與數(shù)據(jù)綁定控件關(guān)聯(lián)時,由 InsertMethod 和 DeleteMethod 屬性指定的方法必需各有一個在 DataObjectTypeName 屬性中指定的類型的參數(shù)。假如 ConflictDetection 屬性設(shè)置為 OverwriteChanges 值,則由 UpdateMethod 屬性指定的方法必需有一個在 DataObjectTypeName 屬性中指定的類型的參數(shù)。假如 ConflictDetection 屬性設(shè)置為 Compare

4、AllValues 值,則由 UpdateMethod 屬性指定的方法必需有兩個在 DataObjectTypeName 屬性中指定的類型的參數(shù)。第一個參數(shù)包含原始值;其次個參數(shù)包含新值。 DataObjectTypeName 屬性托付給與 ObjectDataSource 控件關(guān)聯(lián)的 ObjectDataSourceView 的 DataObjectTypeName 屬性。 三、示例代碼 下面的代碼示例演示如何用法 DataObjectTypeName 屬性,實現(xiàn)一個將全部參數(shù)值合并為一個對象的類型。AggregateData 類的選擇方法返回一個有兩個名為 Name 和 Number 的列

5、的 DataTable 對象。同樣,NewData 類定義兩個讀/寫屬性 Name 和 Number。AggregateData 類的 Insert 方法帶 NewData 類型的一個參數(shù)。ObjectDataSource 的 TypeName 屬性設(shè)置為 AggregateData,DataObjectTypeName 屬性設(shè)置為 NewData。 前臺代碼: % Register TagPrefix=aspSample Namespace=Samples.AspNet.CS Assembly=Samples.AspNet.CS % % Page Language=C# % !DOCTYPE

6、 html PUBLIC -/W3C/DTD XHTML 1.0 Transitional/EN l1/DTD/xhtml1-transitional.dtd script runat=server /script html xmlns=l head runat=server titleObjectDataSource - DataObjectTypeName Property Example/title /head body form id=form1 runat=server div asp:DetailsView ID=DetailsView1 runat=server AllowPag

7、ing=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:Obj

8、ectDataSource /div /form /body /html 后臺代碼: using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; namespace Samples.Asp

9、Net.CS / summary / Summary description for AggregateData / /summary public class AggregateData public AggregateData() static DataTable table; private DataTable CreateData() table = new DataTable(); table.Columns.Add(Name, typeof(string); table.Columns.Add(Number, typeof(int); table.Rows.Add(new obje

10、ct one, 1 ); table.Rows.Add(new object two, 2 ); table.Rows.Add(new object three, 3 ); return table; public DataTable Select() if (table = null) return CreateData(); else return table; public int Insert(NewData newRecord) table.Rows.Add(new object newRecord.Name, newRecord.Number ); return 1; public class NewData private string nameValue

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論