新聞中心
ASP.NET 2.0數(shù)據(jù)綁定:為什么需要新的數(shù)據(jù)源模型

創(chuàng)新互聯(lián)建站服務(wù)項(xiàng)目包括賓陽(yáng)網(wǎng)站建設(shè)、賓陽(yáng)網(wǎng)站制作、賓陽(yáng)網(wǎng)頁(yè)制作以及賓陽(yáng)網(wǎng)絡(luò)營(yíng)銷策劃等。多年來(lái),我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,賓陽(yáng)網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到賓陽(yáng)省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
數(shù)據(jù)綁定是開發(fā)人員在 ASP.NET 1.x 中發(fā)現(xiàn)的最令人愉快的意外功能之一。與 Active Server Pages 對(duì)數(shù)據(jù)訪問(wèn)的支持相比,數(shù)據(jù)綁定是簡(jiǎn)單性和有效性的非凡結(jié)合。然而,如果根據(jù)真正開發(fā)人員的需要進(jìn)行衡量,則它還不夠完美。其局限不在于總體功能方面,而在于開發(fā)人員必須編寫大量代碼來(lái)處理甚至非常簡(jiǎn)單和常見的操作(例如,分頁(yè)、排序或刪除)。為了彌補(bǔ)這一缺陷,ASP.NET 2.0 添加了一種新的數(shù)據(jù)源模型(請(qǐng)參閱我的文章: More Load, Less Code with the Data Enhancements of ASP.NET 2.0)。它包括很多不帶 UI 的新控件,這些控件將數(shù)據(jù)綁定控件的可視部分和數(shù)據(jù)容器聯(lián)系起來(lái)。開發(fā)人員需要在 ASP.NET 1.x 中編寫的絕大部分代碼經(jīng)過(guò)適當(dāng)?shù)姆纸夂蛣?chuàng)作,現(xiàn)在基本上都被嵌入到一系列新的控件中:數(shù)據(jù)源組件。
使用數(shù)據(jù)源組件有很多好處 — 首先,可以得到完全聲明性的數(shù)據(jù)綁定模型。新模型減少了以內(nèi)聯(lián)方式插入到 ASPX 資源中或者分散在代碼隱藏類中的松散代碼。新的數(shù)據(jù)綁定體系結(jié)構(gòu)強(qiáng)制開發(fā)人員遵守嚴(yán)格的規(guī)則。此外,它還從本質(zhì)上改變了代碼的質(zhì)量。附加到事件的較長(zhǎng)代碼塊通常會(huì)消失,而被只是插入到現(xiàn)有框架中的組件所取代。這些數(shù)據(jù)源組件派生自抽象類,實(shí)現(xiàn)了已知的接口,并且總體而言意味著更高級(jí)別的可重用性。
Nikhil Kothari 的有關(guān)控件開發(fā)的優(yōu)秀著作 — Developing Microsoft ASP.NET Server Controls and Components — 幫助成千上萬(wàn)的開發(fā)人員生成自定義控件,并且說(shuō)明了設(shè)計(jì)和實(shí)現(xiàn)的最佳做法。但是,一本書 — 無(wú)論它有多么偉大 — 都永遠(yuǎn)無(wú)法取代一個(gè)更好的系統(tǒng)框架。借助于 ASP.NET 2.0,您還獲得了一個(gè)完全重新設(shè)計(jì)的類圖 — 當(dāng)您沿著類樹從基礎(chǔ)類向葉子類滾動(dòng)時(shí),它能夠添加更具體的數(shù)據(jù)綁定功能。通過(guò)新的數(shù)據(jù)綁定控件層次結(jié)構(gòu),所有開發(fā)人員都可以更容易地選取正確的類來(lái)加以繼承,以便生成他們自己的自定義數(shù)據(jù)綁定控件。
在本文中,您將提前了解 ASP.NET 2.0 數(shù)據(jù)綁定模型中的能夠?qū)ψ远x控件產(chǎn)生影響的更改。在此過(guò)程中,您將了解可用的新基類以及新的高質(zhì)量自定義控件的新要求。
ASP.NET 2.0數(shù)據(jù)綁定:數(shù)據(jù)綁定控件
ASP.NET 2.0 數(shù)據(jù)源模型并未要求必須使用新的控件(例如,GridView 和 FormView);它仍然能夠與舊樣式的控件(例如,DataGrid 和 CheckBoxList)協(xié)同工作。這對(duì)于控件開發(fā)人員而言意味著什么呢?有兩個(gè)截然不同類型的數(shù)據(jù)源需要處理 — 傳統(tǒng)的基于 IEnumerable 的數(shù)據(jù)容器(例如,DataView 和集合)以及數(shù)據(jù)源控件(例如,SqlDataSource 和 ObjectDataSource)。最后,無(wú)論數(shù)據(jù)源是 ADO.NET 對(duì)象、自定義集合還是數(shù)據(jù)源組件,ASP.NET 2.0 數(shù)據(jù)綁定控件都必須能夠?qū)魅氲娜魏螖?shù)據(jù)規(guī)格化為可枚舉的集合。
在 ASP.NET 1.x 中,文檔在某種程度上領(lǐng)先于框架。文檔正確地標(biāo)識(shí)和討論了三個(gè)類型的數(shù)據(jù)綁定控件 — 標(biāo)準(zhǔn)控件、列表控件和復(fù)合控件。任何只是提供 DataBind 方法和 DataSource 屬性的非空實(shí)現(xiàn)的控件都屬于第一個(gè)類別。列表控件是下列兩者的有趣結(jié)合:高級(jí)布局屬性(例如,RepeatColumns 和 RepeatLayout),以及為綁定的每個(gè)數(shù)據(jù)元素重復(fù)的固定的嵌入式項(xiàng)模板。最后,復(fù)合控件負(fù)責(zé)通過(guò)組合一個(gè)或多個(gè)現(xiàn)有控件來(lái)設(shè)計(jì)最終的用戶界面。文檔準(zhǔn)確地闡述了與創(chuàng)建上述類型的控件相關(guān)的任何問(wèn)題;然而,ASP.NET 框架卻并未提供很多基類來(lái)簡(jiǎn)化開發(fā)人員的任務(wù)。圖 1 顯示了 ASP.NET 2.0 中的新的數(shù)據(jù)綁定控件層次結(jié)構(gòu)。請(qǐng)注意顯示為黃色的基類以及它們?cè)谡麄€(gè)類樹中的分布。
圖 1.
對(duì)圖 1 中呈現(xiàn)的基類進(jìn)行一番觀察是一件有趣的事情。它們?cè)诒?1 中列出并進(jìn)行了詳細(xì)說(shuō)明。
|
類 |
說(shuō)明 |
|---|---|
|
BaseDataBoundControl |
數(shù)據(jù)綁定控件的根類。執(zhí)行數(shù)據(jù)綁定并驗(yàn)證任何綁定數(shù)據(jù)。 |
|
DataBoundControl |
包含用于與數(shù)據(jù)源控件和數(shù)據(jù)容器進(jìn)行通信的邏輯??梢詮脑擃惱^承以生成標(biāo)準(zhǔn)的數(shù)據(jù)綁定控件。 |
|
ListControl |
列表控件的基類,提供 Items 集合和高級(jí)布局呈現(xiàn)功能。 |
|
CompositeDataBoundControl |
實(shí)現(xiàn)復(fù)合控件所必需的典型代碼,包括在進(jìn)行回發(fā)之后根據(jù)視圖狀態(tài)還原控件樹的代碼。 |
|
HierarchicalDataBoundControl |
基于樹的分層控件的根類。 |
表 1. ASP.NET 2.0 中的基本數(shù)據(jù)綁定類
對(duì)于任何曾經(jīng)花費(fèi)巨大精力來(lái)創(chuàng)建能夠管理自己的數(shù)據(jù)集合并且能夠正確地從視圖狀態(tài)還原的、具有豐富功能的數(shù)據(jù)綁定控件的人而言,這些類特別受歡迎。
以上就簡(jiǎn)單介紹了ASP.NET 2.0數(shù)據(jù)綁定功能。
當(dāng)前標(biāo)題:ASP.NET2.0數(shù)據(jù)綁定的發(fā)展簡(jiǎn)述
當(dāng)前路徑:http://fisionsoft.com.cn/article/djcssdj.html


咨詢
建站咨詢
