用ASP.NET 2.0 FormView控制項控制顯示
來源:互聯網
上載者:User
asp.net|控制項|控制|顯示 ASP.NET 2.0的FormView控制項類似於DetailsView控制項,因為它能方便地顯示後端資料來源的單個記錄。本文將討論這個控制項的文法和應用。
使用者化
雖然這兩個控制項一次顯示一條記錄,DetailsView和FormView的關鍵差別在於:FormView利用使用者定義的模板;而DetailsView則使用列欄位。FormView控制項沒有預先定義資料布局;相反,你建立一個包含控制項的模板來顯示記錄中的單個欄位。模板中包含建立表單所要用到的格式、控制項和綁定運算式。
你可以控制資料記錄以三種形式顯示:編輯、查看和添加一條新記錄。另外,你可以包括和格式化標題與頁尾元素。你還可以利用FormView控制項各個部分中的任何一個有效ASP.NET控制項。
文法
宣稱和使用一個FormView控制項執行個體與宣稱和使用一個DetailsView控制項執行個體非常相似。它們的主要區別是,因為沒有預設設定可以使用,你必須在FormView控制項中包含顯示資料的格式和模板。列表A顯示了開啟FormView元素標籤的一部分文法。
你可能已經注意到,許多屬性和HTML表格元素相對應,如標題和邊框。這說明ASP.NET使用HTML表格來呈現FormView控制項。
你可以通過微軟網站線上查看一個更加全面的FormView控制項屬性列表。下表列出了一些值得關注的重要屬性。
AllowPaging:一個說明使用者能否對指定資料來源中的記錄分頁的布爾值。如果設為真,則在所顯示記錄的底部顯示預設的分頁數字系統(從1到記錄的數量)。分頁連結可以通過各種分頁屬性自訂。
DataKeyNames:資料來源的鍵欄位。
DataSourceID:用來移植FormView控制項資料來源元素ID。如果使用SQL Server,它與分配給SqlDataSource元素的ID對應。
DefaultMode:允許你指定控制項的預設行為。也就是說,在使用者訪問時,它最初如何顯示。可能的值包括:ReadOnly、Insert和Edit。
EmptyDataText:遇到空資料值時顯示的文本。
宣稱FormView控制項時,還必須對它的內容進行相應格式化。它的資料通過模板顯示。FormView控制項主要使用五個模板:
ItemTemplate:它控制使用者查看資料時的顯示情況。
EditItemTemplate:它決定使用者編輯記錄時的格式和資料元素的顯示情況。在這個模板內,你將使用其它控制項,如TextBox元素,允許使用者編輯值。
InsertItemTemplate:與編輯一條記錄相似,這個模板控制允許使用者在後端資料來源中添加一條新記錄的欄位的顯示。由於輸入了新的值,應該根據資料的要求允許使用者自由輸入文本或限制某些值。
FooterTemplate:決定FormView控制項表格頁尾部分顯示的內容,如果有的話。
HeaderTemplate:決定FormView控制項表格標題部分顯示的內容,如果有的話。
這些模板允許你控制綁定到一個FormView控制項的資料的顯示和行為。例如,列表B中的ASP.NET Web表單串連到標準的Northwind資料庫,允許使用者通過名字、姓、僱用日期和家庭電話號碼欄位查看、編輯、刪除和添加新的員工記錄。
它使用TextField控制項顯示被編輯或添加的資料,以及只是為了查閱而顯示的值。ItemTemplate使用CSS格式化表格,而InsertTemplate則使用HTML樣式進行格式化,到底使用哪種方法由開發人員決定。
註:ASP.NET用Button控制項添加、編輯、刪除和儲存記錄。
在Button控制項中,New的CommandName值將記錄轉換為插入模式並載入InsertItemTemplate模板,它允許使用者輸入一個新記錄值。你可以用Edit的CommandName值給ItemTemplate增加一個新按鈕,使FormView控制項進入編輯模式。
可以給ItemTemplate模板增加一個帶Delete的CommnadName值的按鈕,允許使用者從資料來源中刪除目前記錄。Update的CommnadName儲存資料,而Cancel終止操作。
開發人員控制
許多ASP.NET 2.0新功能的易用性令人驚喜。FormView對DetailsView的簡易功能進行了擴張,允許你根據需要輕鬆控制要格式化的顯示內容。這個新控制項為你交付解決方案提供另一個選項。