ASP.NET Dynamic Data 기본 필드 템플릿
업데이트: 2007년 11월
필드 템플릿은 데이터 컨트롤 필드를 데이터 모델의 데이터 형식에 매핑하는 ASP.NET 사용자 정의 컨트롤입니다. 이러한 컨트롤은 데이터 필드, 데이터베이스 열, 메타데이터 등에 대한 액세스를 지원하는 FieldTemplateUserControl 클래스에서 파생됩니다. Dynamic Data는 필드 템플릿을 사용하여 데이터베이스 스키마와 데이터 형식을 기반으로 데이터가 자동으로 표시되도록 하고, 사용자가 최소한의 코드만 작성하거나 코드를 아예 작성하지 않고도 데이터 모델에서 데이터를 편집하거나 삽입할 수 있도록 지원합니다. Dynamic Data는 Dynamic Data 웹 응용 프로그램을 만들 때 기본 필드 템플릿을 제공합니다.
기본 필드 템플릿
ASP.NET Dynamic Data는 데이터 모델에 포함된 데이터의 형식을 확인한 후 적절한 기본 필드 또는 사용자 지정 필드 템플릿을 사용하여 데이터 컨트롤의 데이터를 렌더링합니다. 렌더링되는 필드 템플릿은 데이터 형식(UIHint 또는 정의된 DataTypeAttribute) 및 데이터 컨트롤이 표시, 편집 또는 삽입 모드에 있는지 여부에 따라 달라집니다. Visual Studio 2008에서 Dynamic Data 프로젝트를 만들면 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필드 템플릿은 데이터 모델에서 throw되는 모든 예외를 처리하는 System.Web.DynamicData.DynamicValidator 컨트롤을 제공합니다. Regex 클래스를 지원합니다. |
Decimal_Edit.ascx |
TextBox 컨트롤을 렌더링합니다. 입력을 Decimal 데이터 형식으로 변환할 수 있는지 확인하는 CompareValidator 컨트롤도 렌더링합니다. 데이터베이스의 필드가 null일 수 없거나 필수 특성이 데이터 모델에 추가된 경우 이 컨트롤은 RequiredFieldValidator 컨트롤도 렌더링합니다. 범위 특성이 있는 경우 필드는 RangeValidator 컨트롤도 렌더링합니다. Decimal_Edit.ascx 필드 템플릿은 필드 템플릿은 데이터 모델에서 throw되는 모든 예외를 처리하는 System.Web.DynamicData.DynamicValidator 컨트롤을 제공합니다. 이 필드 템플릿은 Regex 클래스를 지원합니다. |
ForeignKey.ascx |
다대일 관계가 있는 필드를 표시합니다. 사용자를 관계 페이지로 리디렉션하는 HyperLink 컨트롤을 렌더링합니다. |
ForeignKey_Edit.ascx |
다대일 관계가 있는 필드를 편집하는 데 사용됩니다. 사용자가 데이터 모델에서 외래 키를 선택할 수 있도록 하는 DropDownList 컨트롤을 렌더링합니다. |
Integer_Edit.ascx |
TextBox 컨트롤 및 텍스트 상자의 입력을 정수로 변환할 수 있는지 확인하는 CompareValidator를 렌더링합니다. 데이터베이스의 필드가 null일 수 없거나 필수 특성이 데이터 모델에 추가된 경우 이 컨트롤은 RequiredFieldValidator 컨트롤도 렌더링합니다. 모델의 필드에 범위 특성이 있는 경우 필드는 RangeValidator 컨트롤도 렌더링합니다. Integer_Edit.ascx는 데이터 모델에서 throw되는 모든 예외를 처리하는 System.Web.DynamicData.DynamicValidator 컨트롤을 제공합니다. Regex 클래스를 지원합니다. |
Text.ascx |
byte, short 및 long과 같은 다른 정수 형식을 포함하여 String, Decimal, Double 및 Int32를 표시합니다. 리터럴로 렌더링합니다. |
Text_Edit.ascx |
TextBox 컨트롤을 렌더링합니다. 텍스트 상자의 TextMode 속성이 SingleLine으로 설정됩니다. 데이터베이스의 필드가 null일 수 없거나 필수 특성이 데이터 모델에 추가된 경우 Text_Edit.ascx는 RequiredFieldValidator 컨트롤도 렌더링합니다. 데이터베이스의 필드에 길이가 연결되어 있으면 텍스트 상자 컨트롤의 MaxLength 속성이 적용됩니다. 데이터 모델에 RegularExpression 특성이 있으면 기본 필드 템플릿은 RegularExpressionValidator 컨트롤도 렌더링합니다. Text_Edit.ascx는 데이터 모델에서 throw되는 모든 예외를 처리하는 System.Web.DynamicData.DynamicValidator 컨트롤을 제공합니다. |
Multiline_Edit.ascx |
텍스트 블록으로 표시된 데이터베이스 필드에 사용됩니다. 예를 들어 SQL Server의 경우 Multiline_Edit.ascx는 TEXT, NTEXT, VARCHAR(MAX), NVARCHAR(MAX) 데이터 형식에 매핑됩니다. TextBox 컨트롤을 렌더링합니다. 텍스트 상자의 TextMode 속성이 MultiLine으로 설정됩니다. 데이터베이스의 필드가 null일 수 없거나 필수 특성이 데이터 모델에 추가된 경우 TextArea_Edit.ascx는 RequiredFieldValidator 컨트롤도 렌더링합니다. 데이터 모델에 RegularExpression 특성이 추가된 경우 데이터 필드는 RegularExpressionValidator 컨트롤도 렌더링합니다. TextArea_Edit.ascx는 데이터 모델에서 throw되는 모든 예외를 처리하는 System.Web.DynamicData.DynamicValidator 컨트롤을 제공합니다. |
기본 템플릿 사용자 지정
기본 필드 템플릿을 사용자 지정하여 필드 템플릿의 데이터 표시, 편집 및 삽입 동작을 변경할 수 있습니다. 변경된 내용은 웹 사이트 전체에 적용됩니다. 예를 들어 필드 템플릿을 렌더링하는 텍스트 상자의 BackColor 및 ForeColor 속성을 수정하면 DateTime_Edit.ascx의 배경색과 전경색을 변경할 수 있습니다. 이러한 변경 작업은 .css 파일에서 BackColor 및 ForeColor 속성을 정의하여 수행할 수 있습니다. 자세한 내용은 방법: ASP.NET Dynamic Data 기본 필드 템플릿 사용자 지정을 참조하십시오.
참고 항목
작업
방법: 데이터 모델의 데이터 필드 모양 및 동작 사용자 지정