ASP.NET 2.0 FormView 컨트롤은 백엔드 데이터 소스의 개별 레코드를 편리하게 표시한다는 점에서 DetailsView 컨트롤과 유사합니다. 이 문서에서는 이 컨트롤의 구문과 적용에 대해 설명합니다.
사용자
정의 두 컨트롤 모두 한 번에 하나의 레코드를 표시하지만 DetailsView와 FormView의 주요 차이점은 FormView는 사용자 정의 템플릿을 사용하고 DetailsView는 행 필드를 사용한다는 것입니다. FormView 컨트롤은 데이터 레이아웃을 미리 정의하지 않고 대신 레코드의 개별 필드를 표시하는 컨트롤이 포함된 템플릿을 만듭니다. 템플릿에는 양식을 만드는 데 사용되는 형식, 컨트롤 및 바인딩 표현식이 포함되어 있습니다.
새 레코드 편집, 보기, 추가의 세 가지 형식으로 데이터 레코드 표시를 제어할 수 있습니다. 또한 머리글 및 바닥글 요소를 포함하고 서식을 지정할 수 있습니다. FormView 컨트롤의 다양한 부분에서 사용 가능한 ASP.NET 컨트롤을 활용할 수도 있습니다.
FormView 컨트롤 인스턴스를 선언하고 사용하는
구문은
DetailsView 컨트롤 인스턴스를 선언하고 사용하는 것과 매우 유사합니다.이들 간의 주요 차이점은 사용할 기본 설정이 없기 때문에 FormView 컨트롤에 데이터를 표시하기 위한 형식과 템플릿을 포함해야 한다는 것입니다. 목록 A는 FormView 요소 태그를 여는 구문의 일부를 보여줍니다.
많은 속성이 제목 및 테두리와 같은 HTML 테이블 요소에 해당한다는 것을 알 수 있습니다. 이는 ASP.NET이 HTML 테이블을 사용하여 FormView 컨트롤을 렌더링한다는 것을 보여줍니다.
Microsoft 웹 사이트를 통해 온라인으로 FormView 컨트롤 속성의 보다 포괄적인 목록을 볼 수 있습니다. 아래 표에는 주의해야 할 몇 가지 중요한 속성이 나열되어 있습니다.
·AllowPaging: 사용자가 지정된 데이터 소스의 레코드를 페이징할 수 있는지 여부를 나타내는 부울 값입니다. true로 설정하면 표시된 레코드 하단에 기본 페이지 번호 체계(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 웹 양식은 표준 Northwind 데이터베이스에 연결하여 사용자가 이름, 성, 고용 날짜 및 집 전화 번호 필드를 통해 새 직원 기록을 보고, 편집하고, 삭제하고 추가할 수 있도록 합니다.
TextField 컨트롤을 사용하여 편집 또는 추가 중인 데이터와 검토용으로만 표시되는 값을 표시합니다. ItemTemplate은 CSS를 사용하여 테이블 형식을 지정하고, InsertTemplate은 HTML 스타일을 사용하여 형식을 지정합니다.
참고: ASP.NET은 Button 컨트롤을 사용하여 레코드를 추가, 편집, 삭제 및 저장합니다.
Button 컨트롤에서 New의 CommandName 값은 레코드를 삽입 모드로 변환하고 사용자가 새 레코드 값을 입력할 수 있도록 하는 InsertItemTemplate 템플릿을 로드합니다. Edit CommandName 값을 사용하여 ItemTemplate에 새 단추를 추가하여 FormView 컨트롤을 편집 모드로 전환할 수 있습니다.
사용자가 데이터 소스에서 현재 레코드를 삭제할 수 있도록 CommnadName 값이 삭제인 단추를 ItemTemplate 템플릿에 추가할 수 있습니다. 업데이트의 CommnadName은 데이터를 저장하고 취소는 작업을 종료합니다.
개발자가 많은 새로운 ASP.NET 2.0 기능을 제어하는
것이 얼마나 쉬운지 정말 놀랍습니다
.FormView는 DetailsView의 간단한 기능을 확장하여 필요에 따라 표시 콘텐츠의 형식을 쉽게 제어할 수 있습니다. 이 새로운 컨트롤은 솔루션 제공을 위한 또 다른 옵션을 제공합니다.