使用ASP.NET 2.0 DetailsView控制項處理資料

來源:互聯網
上載者:User
asp.net|控制項|資料 DetailsView 控制項

在ASP.NET 1.1中,對單條記錄的操作需要自己定義,並加以拓展,但到了2.0,我們有了DetaillsView控制項,這就變得簡單又直截了當了。這個控制項可以和任意資料來源進行綁定,並使用它的資料操作命令集。

DetailsView控制項需要先和資料來源控制項綁定在一起。資料來源控制項負責串連儲存的資料和返回選中資料的具體操作。把DetailsView控制項綁定到資料如此簡單,只需設定DataSourceID屬性聲明一下就可以了。同時,也可以利用代碼選項(code option)。

具體可進行的操作和資料來源類型有關,但是,只要下層資料來源允許並且相應的SQL命令已經定義,通過DetailsView控制項都可以對其下層資料來源中的資料進行分頁、更新、插入,和刪除操作。DetaillsView控制項和GridView控制項特點相同,使用方便,無需自設代碼。

聲明文法(Declarative syntax)

你可以通過清單A的文法使用DetailsView控制項。(你會注意到,代碼使用的許多屬性和GridView控制項支援的屬性都相同。)

該控制項的詳細代碼選項數目繁多,具體聲明文法可參見微軟給出的樣本。你可以通過PagerSettings元素控制頁面選項(paging option),除此之外,也可以控制該控制項不同地區的顯示模式,如頁尾、頁頭、單行,如此等等。清單 B的簡單例子示範了DetailsView控制項的用法。

範例程式碼把DetailsView控制項和網頁(後端SQL伺服器)包含的資料來源綁定在一起。DetailsView控制項上包含有頁面連結(AllowPaging=”true”),但是刪除(delete)、編輯(edit)、和更新(update)按鈕是被禁止的。

通過頁面連結,你可以按頁查看資料庫記錄。預設條件下,頁面連結直接作為數字連結顯示在更新按鈕下方。你可以通過眾多的頁面選項改變控制項的顯示外觀。此外,刪除和更新按鈕需要使用資料來源控制項定義的刪除和更新命令才能操縱後端伺服器上儲存的記錄。

剛才的文法清單包含了AutoGenerateRows屬性,使用它可以讓系統自動顯示記錄(true),否則(false)就得自訂需要顯示的欄位。欄位(Fields)元素可以用於定義DetailView應當包含的欄位。可能的各類控制項欄位如下所示:

BoundField欄位:把該欄位綁定到下層資料來源的一個資料項目,並顯示該資料。
ButtonField欄位:顯示一個按鈕。
CheckBoxField欄位:顯示複選框。
CommandField欄位:顯示命令按鈕。
HyperLinkField欄位:顯示URL連結。
ImageField欄位:以圖片方式顯示下層資料。
TemplateField欄位:用來為資料元素自訂顯示格式。
更詳細的欄位類型介紹請點擊這裡查看。

清單 C使用了BoundField類型的欄位,並通過指定的使用者標籤(custom label)有選擇地顯示來自SQL伺服器資料來源的資料。同時,這個樣本還用到了刪除、編輯,和更新按鈕選項,這通過設定下面這些DetailsView對象的屬性實現。

AutoGenerateDeleteButton屬性:該屬性的資料類型是布爾值,指定是否顯示刪除按鈕。關聯資料連線的DeleteCommand屬性用來執行選中記錄的刪除工作。
AutoGenerateInsertButton屬性:該屬性的資料類型是布爾值,指定是否顯示插入按鈕。關聯資料連線的InsertCommand屬性用來執行新記錄的插入工作。
AutoGenerateEditButton屬性:該屬性的資料類型是布爾值,指定是否顯示編輯按鈕。選擇這個按鈕會把記錄轉入編輯模式,並且顯示一個更新按鈕,用來儲存更改。關聯資料連線的UpdateCommand屬性用來儲存對後端資料來源所作的更改。
注意:EmployeeID欄位不能編輯,因為它作為下層資料表(table)中的主關鍵字(primary key),其唯讀(ReadOnly)標記被設定成了“true”。

TemplateField類型的欄位提供了更多對DetailsView資料控制項中資料欄位的控制方法。通過它,當資料被編輯、查看,或者添加新的資料時,你都可以控制這個欄位的外觀和行為。以下這些元素用來控制這些行為。

EditItemTemplate元素:當前DetailsView記錄在編輯模式時控制這個欄位的外觀。
InsertItemTemplate元素:當有新記錄添加到下層資料來源時,確定這個欄位將如何顯示。
ItemTemplate元素:在使用者查看時確定欄位該如何顯示。
清單 D使用了TemplateField類型的欄位,目的是顯示職工的僱傭資料。當某個資料被編輯,或者有新記錄要添加時,會有一個日曆控制項出現,方便使用者輸入日期類型的資料。日期值在查看模式下則以簡單的標籤控制項方式顯示。

使用簡便

ASP.NET 2.0的許多新功能都以便於使用為特徵。對於與DetailsView控制項結合起來的新型資料控制項來說更是如此。做一些很簡單的處理,你就可以訪問和顯示資料,並且還能不需要編寫代碼就支援編輯、刪除和插入操作。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.