ASP.NET2.0引入了 Form View控件,該控件在任意形式的模板中一次呈現(xiàn)單個(gè)數(shù)據(jù)項(xiàng)。 Details View和 Form View之間的主要差異在于 Details View具有內(nèi)置的表格呈現(xiàn)方式,而 Form View需要用戶定義的模板用于呈現(xiàn)。 Form View和 Details View對(duì)象模型在其他方面非常類似。
Form View是新的數(shù)據(jù)綁定控件,使用起來像是 Details View的模板化版本。它每次從關(guān)數(shù)據(jù)源中選擇一條記錄顯示,選擇性地提供分頁按鈕,用于在記錄之間移動(dòng)。與Details View控件不同的是, Form View不使用數(shù)據(jù)控件字段,而是允許用戶通過模板定義項(xiàng)目的顯示。 Form View支持其數(shù)據(jù)源提供的任何基本操作。
Form View控件是作為通常使用的更新和插入接口而設(shè)計(jì)的,它不能驗(yàn)證數(shù)據(jù)源架構(gòu),不支持高級(jí)編輯功能,比如外鍵字段下拉。然而,使用模板來提供此功能很容易。
Form View和 Details view有兩方面的功能差異。首先, Form View控件具有 ItemTemplate、
Editltem Template 和 Insertltem Template等屬性,而 Details View一個(gè)也沒有。其次, Form View缺少命令行。
Form View控件的模板
模板類型 | 說明 |
EditItem Template | 編輯數(shù)據(jù)時(shí)的顯示模板,此模板通常包含用戶可以用來編輯現(xiàn)有記錄的輸控件和命令按鈕 |
EmptyData Template | 數(shù)據(jù)集為空時(shí)顯示的模板,通常包含一些警告或提示信息,以告知用戶數(shù)據(jù)源不包含任何內(nèi)容 |
FooterTemplate | 定義腳注行的內(nèi)容 |
HeaderTemplate | 定義標(biāo)題行的內(nèi)容 |
ItemTemplate | 呈現(xiàn)只讀數(shù)據(jù)時(shí)的模板,通常包含用來顯示現(xiàn)有記錄的值 |
Insertltem Template | 插入記錄時(shí)的模板,通常包含用戶可以用來添加新記錄的輸入控件和命令按鈕 |
PagerTemplate | 啟用分頁功能時(shí)的模板,通常包含導(dǎo)航至另一個(gè)記錄的控件 |