共用方式為


ASP.NET 動態資料預設欄位範本

更新:2007 年 11 月

欄位範本是 ASP.NET 使用者控制者,能夠將資料控制項欄位對應到資料模型中的資料型別。這些控制項衍生自能夠存取資料欄位、資料庫資料行和中繼資料的 FieldTemplateUserControl 類別。動態資料會使用這些欄位範本,根據資料庫結構描述與資料型別自動顯示資料,同時可以讓使用者利用極少的程式碼或是根本不使用程式碼,在資料模型中編輯及插入資料。動態資料提供您在建立動態資料 Web 應用程式時的預設欄位範本。

預設欄位範本

ASP.NET Dynamic Data 會判斷資料模型中的資料型別,並且使用適當的預設或自訂欄位範本來呈現資料控制項中的資料。所呈現的欄位範本會根據下列兩種條件而定,一是資料型別為 UIHint 或是為已定義的 DataTypeAttribute,另一點是資料控制項處於顯示、編輯或插入模式。在 Visual Studio 2008 中建立動態資料專案時,預設的欄位範本會建立在 DynamicData/FieldTemplates 目錄中。 

下表說明 ASP.NET Dynamic Data 專案中的預設欄位範本。

預設欄位範本

說明

Boolean.ascx

顯示 Boolean 資料型別。呈現 CheckBox 控制項。CheckBox 控制項為停用而且無法變更。

Boolean_Edit.ascx

可以讓使用者編輯 Boolean 值。呈現 CheckBox 控制項。

Children.ascx

顯示具有一對多關聯性的欄位,並且將使用者重新導向到關聯性頁面。呈現 HyperLink 控制項。

DateTime.ascx

以文字顯示 DateTime 資料型別。以常值呈現。

DateTime_Edit.ascx

呈現 TextBox 控制項。如果資料庫中的欄位不能為 null,或是如果必要屬性已加入資料模型,那麼這個控制項也可以呈現 RequiredFieldValidator 控制項。DateTime_Edit.ascx欄位範本提供能夠處理資料模型所擲回任一例外狀況的 System.Web.DynamicData.DynamicValidator 控制項。它支援 Regex 類別。

Decimal_Edit.ascx

呈現 TextBox 控制項。也會呈現能夠驗證輸入是否可以轉換為 Decimal 資料型別的 CompareValidator 控制項。如果資料庫中的欄位不能為 null,或是如果必要屬性已加入資料模型,那麼這個控制項也可以呈現 RequiredFieldValidator 控制項。如果欄位有範圍屬性,那麼欄位還會呈現 RangeValidator 控制項。Decimal_Edit.ascx 欄位範本提供能夠處理資料模型所擲回任一例外狀況的 System.Web.DynamicData.DynamicValidator 控制項。這個欄位範本支援 Regex 類別。

ForeignKey.ascx

顯示具有多對一關聯性的欄位。呈現能夠將使用者重新導向到關聯性頁面的 HyperLink 控制項。

ForeignKey_Edit.ascx

用於編輯顯示具有多對一關聯性的欄位。呈現可以讓使用者在資料模型中選取外部索引鍵的 DropDownList

Integer_Edit.ascx

呈現 TextBox 控制項以及能夠驗證文字方塊中的輸入是否可以轉換為整數的 CompareValidator。如果資料庫中的欄位不能為 null,或是如果必要的屬性已加入資料模型,那麼這個控制項也可以呈現 RequiredFieldValidator 控制項。如果模型中的欄位有範圍屬性,那麼欄位還會呈現 RangeValidator 控制項。Integer_Edit.ascx 提供能夠處理資料模型所擲回任一例外狀況的 System.Web.DynamicData.DynamicValidator 控制項。Regex 類別。

Text.ascx

顯示 String、Decimal、Double 與 Int32,包括如 byte、short 與 long 等的其他整數型別。以常值呈現。

Text_Edit.ascx

呈現 TextBox 控制項。文字方塊的 TextMode 屬性 (Property) 設為 SingleLine。如果資料庫中的欄位不能為 null,或者如果必要屬性 (Attribute) 已加入資料模型,那麼 Text_Edit.ascx 也會呈現 RequiredFieldValidator 控制項。如果資料庫中的欄位有與其關聯的長度,那麼會強制使用文字方塊控制項的 MaxLength 屬性 (Property)。如果資料模型中有 RegularExpression 屬性 (Attribute),則預設欄位範本也會呈現 RegularExpressionValidator 控制項。Text_Edit.ascx 提供能夠處理資料模型所擲回任一例外狀況的 System.Web.DynamicData.DynamicValidator 控制項。

Multiline_Edit.ascx

用於標記為文字區塊的資料庫欄位。例如在 SQL Server 中,Multiline_Edit.ascx 對應到 TEXT、NTEXT、VARCHAR(MAX)、NVARCHAR(MAX) 資料型別。

呈現 TextBox 控制項。文字方塊的 TextMode 屬性 (Property) 設為 MultiLine。如果資料庫中的欄位不能為 null,或者如果必要屬性 (Attribute) 已加入資料模型,那麼 TextArea_Edit.ascx 也會呈現 RequiredFieldValidator 控制項。如果資料模型已加入 RegularExpression 屬性 (Attribute),則資料欄位也會呈現 RegularExpressionValidator 控制項。TextArea_Edit.ascx提供能夠處理資料模型所擲回任一例外狀況的 System.Web.DynamicData.DynamicValidator 控制項。

自訂預設範本

您可以自訂預設欄位範本,以變更、顯示、編輯與插入行為。修改會對整個網站產生變更。例如,當您對呈現欄位範本的文字方塊修改 BackColorForeColor 屬性時,會變更 DateTime_Edit.ascx 的背景與前景色彩。定義 .css 檔中的 BackColorForeColor 屬性,即可完成修改。如需詳細資訊,請參閱 HOW TO:自訂 ASP.NET 動態資料預設欄位範本

請參閱

工作

HOW TO:自訂資料模型中的資料欄位外觀和行為

HOW TO:自訂資料模型中的資料欄位顯示

概念

ASP.NET 動態資料欄位範本概觀