用ASP.NET 2.0 FormView控件控制顯示_.Net教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:組合.NET數(shù)據(jù)控件構(gòu)建強(qiáng)大用戶接口
      本文,我將結(jié)合這幾個(gè)數(shù)據(jù)控件對(duì)GridView控件做一個(gè)詳細(xì)的介紹,使用戶能夠?qū)γ總(gè)數(shù)據(jù)行獲得一個(gè)詳細(xì)的了解。 主要控件 DetailsView 和 FormView控件在顯示后端數(shù)據(jù)源中的單個(gè)記錄時(shí)功能強(qiáng)

      ASP.NET 2.0的FormView控件類似于DetailsView控件,因?yàn)樗芊奖愕仫@示后端數(shù)據(jù)源的單個(gè)記錄。本文將討論這個(gè)控件的語(yǔ)法和應(yīng)用。

      用戶化

      雖然這兩個(gè)控件一次顯示一條記錄,DetailsView和FormView的關(guān)鍵差別在于:FormView利用用戶定義的模板;而DetailsView則使用行字段。FormView控件沒有預(yù)先定義數(shù)據(jù)布局;相反,你建立一個(gè)包含控件的模板來顯示記錄中的單個(gè)字段。模板中包含建立表單所要用到的格式、控件和綁定表達(dá)式。

      你可以控制數(shù)據(jù)記錄以三種形式顯示:編輯、查看和添加一條新記錄。另外,你可以包括和格式化標(biāo)題與頁(yè)腳元素。你還可以利用FormView控件各個(gè)部分中的任何一個(gè)有效的ASP.NET控件。

      語(yǔ)法

      宣稱和使用一個(gè)FormView控件實(shí)例與宣稱和使用一個(gè)DetailsView控件實(shí)例非常相似。它們的主要區(qū)別是,因?yàn)闆]有默認(rèn)設(shè)置可以使用,你必須在FormView控件中包含顯示數(shù)據(jù)的格式和模板。列表A顯示了打開FormView元素標(biāo)簽的一部分語(yǔ)法。

      你可能已經(jīng)注意到,許多屬性和HTML表格元素相對(duì)應(yīng),如標(biāo)題和邊框。這說明ASP.NET使用HTML表格來呈現(xiàn)FormView控件。

      你可以通過微軟網(wǎng)站在線查看一個(gè)更加全面的FormView控件屬性列表。下表列出了一些值得關(guān)注的重要屬性。

      ·AllowPaging:一個(gè)說明用戶能否對(duì)指定數(shù)據(jù)源中的記錄分頁(yè)的布爾值。如果設(shè)為真,則在所顯示記錄的底部顯示默認(rèn)的分頁(yè)數(shù)字系統(tǒng)(從1到記錄的數(shù)量)。分頁(yè)鏈接可以通過各種分頁(yè)屬性自定義。

      ·DataKeyNames:數(shù)據(jù)源的鍵字段。

      ·DataSourceID:用來移植FormView控件數(shù)據(jù)源元素ID。如果使用SQL Server,它與分配給SqlDataSource元素的ID對(duì)應(yīng)。

      ·DefaultMode:允許你指定控件的默認(rèn)行為。也就是說,在用戶訪問時(shí),它最初如何顯示。可能的值包括:ReadOnly、Insert和Edit。

      ·EmptyDataText:遇到空數(shù)據(jù)值時(shí)顯示的文本。

      宣稱FormView控件時(shí),還必須對(duì)它的內(nèi)容進(jìn)行相應(yīng)格式化。它的數(shù)據(jù)通過模板顯示。FormView控件主要使用五個(gè)模板:

      ·ItemTemplate:它控制用戶查看數(shù)據(jù)時(shí)的顯示情況。

      ·EditItemTemplate:它決定用戶編輯記錄時(shí)的格式和數(shù)據(jù)元素的顯示情況。在這個(gè)模板內(nèi),你將使用其它控件,如TextBox元素,允許用戶編輯值。

      ·InsertItemTemplate:與編輯一條記錄相似,這個(gè)模板控制允許用戶在后端數(shù)據(jù)源中添加一條新記錄的字段的顯示。由于輸入了新的值,應(yīng)該根據(jù)數(shù)據(jù)的要求允許用戶自由輸入文本或限制某些值。

      ·FooterTemplate:決定FormView控件表格頁(yè)腳部分顯示的內(nèi)容,如果有的話。

      ·HeaderTemplate:決定FormView控件表格標(biāo)題部分顯示的內(nèi)容,如果有的話。

      這些模板允許你控制綁定到一個(gè)FormView控件的數(shù)據(jù)的顯示和行為。例如,列表B中的ASP.NET Web表單連接到標(biāo)準(zhǔn)的Northwind數(shù)據(jù)庫(kù),允許用戶通過名字、姓、雇用日期和家庭電話號(hào)碼字段查看、編輯、刪除和添加新的員工記錄。

      它使用TextField控件顯示被編輯或添加的數(shù)據(jù),以及只是為了查閱而顯示的值。ItemTemplate使用CSS格式化表格,而InsertTemplate則使用HTML樣式進(jìn)行格式化,到底使用哪種方法由開發(fā)者決定。

      注:ASP.NET用Button控件添加、編輯、刪除和保存記錄。

      在Button控件中,New的CommandName值將記錄轉(zhuǎn)換為插入模式并加載InsertItemTemplate模板,它允許用戶輸入一個(gè)新記錄值。你可以用Edit的CommandName值給ItemTemplate增加一個(gè)新按鈕,使FormView控件進(jìn)入編輯模式。

      可以給ItemTemplate模板增加一個(gè)帶Delete的CommnadName值的按鈕,允許用戶從數(shù)據(jù)源中刪除當(dāng)前記錄。Update的CommnadName保存數(shù)據(jù),而Cancel終止操作。

      開發(fā)者控制

      許多ASP.NET 2.0新功能的易用性令人驚喜。FormView對(duì)DetailsView的簡(jiǎn)單功能進(jìn)行了擴(kuò)張,允許你根據(jù)需要輕松控制要格式化的顯示內(nèi)容。這個(gè)新控件為你交付解決方案提供另一個(gè)選項(xiàng)。

      分享:asp.NET自定義服務(wù)器控件內(nèi)部細(xì)節(jié)
      如大家要轉(zhuǎn)載,請(qǐng)保留本人的版權(quán): /* *Description:asp.NET自定義服務(wù)器控件內(nèi)部細(xì)節(jié)系列教程 *Auther:崇崇-天真的好藍(lán) *MSN:chongchong2008@msn.com *Dates:2007-05-20 *Copyright:ChongCho

      來源:模板無憂//所屬分類:.Net教程/更新時(shí)間:2008-08-22
      相關(guān).Net教程