> 백엔드 개발 > C#.Net 튜토리얼 > 'ASP.NET' 데이터 바인딩에 대한 자세한 설명 - DataList

'ASP.NET' 데이터 바인딩에 대한 자세한 설명 - DataList

黄舟
풀어 주다: 2017-03-08 13:10:54
원래의
1966명이 탐색했습니다.

DataList 컨트롤은 .NET의 컨트롤입니다. DataList 컨트롤은 데이터를 테이블 형식으로 표시합니다(속성 작성기에서 편집 가능). 이를 통해 다양한 레이아웃을 사용하여 데이터 레코드를 표시할 수 있습니다(템플릿 편집 사용). 예를 들어 데이터 레코드를 열이나 행으로 정렬합니다. 당신은 할 수 있습니다 DataList 컨트롤은 사용자가 테이블 (EditItemTemplate 템플릿 및 SelectedItemTemplate 템플릿 사용) 에서 레코드를 편집하거나 삭제할 수 있도록 구성됩니다. DataList 컨트롤은 데이터 소스 컨트롤의 데이터 수정 기능을 사용하지 않으며 사용자가 직접 이 코드를 제공해야 합니다.

1. DataList Repeater의 비교

1. DataList에는 Repeater보다 템플릿이 두 개 더 많습니다: SelectedItemTemplate 및 EditItemTemplate , 선택 및 편집 기능을 지원합니다.

2. DataList에는 시각적 템플릿 편집과 속성 편집이 있는 반면, Repeater 컨트롤은 내장 레이아웃을 지정하지 않습니다. DataList에 비해 데이터 편집이 더 번거롭습니다.

3. DataList의 내용은 데이터를 테이블 형식으로 표현하므로 데이터 배열이 더욱 아름답게 되며, Repeater 자체에서 테이블을 추가해야 합니다.

4. DataList는 HTML 테이블에 항목을 명시적으로 배치하지만 Repeater는 그렇지 않습니다.

2. DataList의 템플릿

1. ItemTemplate, AlternationgItemTemplate, SeparatorTemplate, HeaderTemplate, FooterTemplate, SelectedItemTemplate, EditItemTem plate.

3. 이벤트

1. 버블링 이벤트

".NET" 프레임워크에는 이벤트 버블링을 지원하는 세 가지 표준 컨트롤인 Repeater, DataList 및 DataGrid 컨트롤이 포함되어 있습니다. 이러한 컨트롤을 사용하면 하위 컨트롤에서 이벤트를 캡처할 수 있습니다. 자식 컨트롤이 이벤트를 생성하면 이벤트는 자식 컨트롤을 포함하는 컨테이너 컨트롤에 "버블링"되고 컨테이너 컨트롤은 서브루틴을 실행하여 이벤트를 처리할 수 있습니다.

DataList 컨트롤은 DataList에 포함된 컨트롤에 의해 생성된 이벤트를 캡처하고 일반 서브루틴을 통해 이러한 이벤트를 처리할 수 있는 이벤트 버블링을 지원합니다. 이 시점에서 일부 사람들은 이벤트 버블링의 이점을 잘 이해하지 못할 수도 있습니다. 이런 식으로 우리는 이를 반대로 생각합니다. 이벤트 버블링이 없으면 각 컨트롤에서 생성된 각 이벤트에 대해 해당 처리 기능을 정의해야 합니다. DataList에 포함되어 있습니다. DataList에 10,000개의 컨트롤이 포함되어 있으면 어떻게 될까요? 아니면 그 이상? 그렇다면 얼마나 많은 이벤트 핸들러를 작성해야 합니까? 따라서 이벤트 버블링을 사용하면 DataList에 얼마나 많은 컨트롤이 포함되어 있든 상관없이 하나의 핸들러만 필요합니다. 제가 이해한 바는 프로그램을 캡슐화하고 상속 메커니즘을 통해 문제를 해결하는 것입니다.

2. DataList에서 지원하는 이벤트:

EditCommand: CommandName="edit"인 하위 컨트롤에 의해 생성됩니다.

CancelCommand: CommandName="cancel"인 하위 컨트롤에 의해 생성됩니다.
UpdateCommand: CommandName="update"를 사용하는 하위 컨트롤에 의해 생성됩니다.
DeleteCommand: CommandName="delete"를 사용하는 하위 컨트롤에 의해 생성됩니다.
ItemCommand: DataList의 기본 이벤트입니다.


3. 이벤트 트리거 프로세스: 이 다섯 가지 이벤트를 사용하여 DataList 컨트롤을 클릭하면 특정 버튼이 누르면 어떤 이벤트가 트리거되어야 합니까? 언제 트리거됩니까?

"ASP Point NET"에는 CommandName 속성이 있는 세 가지 컨트롤, 즉 Button, LinkButton 및 ImageButton이 있습니다. 해당 CommandName 속성은 컨테이너 컨트롤 내에서 생성된 시간 유형을 나타내도록 설정할 수 있습니다. 예를 들어 DataList에 있는 LinkButton의 CommandName 속성을 "update"로 설정한 경우 이 버튼을 클릭하면 DataList의 UpdateCommand 이벤트가 트리거되며 해당 이벤트 핸들러에 관련 처리 코드를 작성할 수 있습니다.

참고: ItemCommand 이벤트는 DataList에서 CommandName이 삭제/취소/업데이트/편집인 버튼 다음에 생성되는 기본 이벤트입니다. 컨트롤을 클릭하면 ItemCommand 이벤트가 먼저 트리거된 다음 해당 이벤트가 트리거됩니다.

4. DataList의 데이터를 편집합니다.

1. DataList에서 항목의 기본 키 를 선택하고 를 사용하여 편집합니다. DataList 컨트롤의 DataKeys 컬렉션입니다.

DataList에서 항목을 선택할 때 일반적으로 이 항목과 연결된 기본 키 값을 가져와야 합니다. DataKeys 컬렉션을 사용하여 항목과 연결된 기본 키 값을 얻을 수 있습니다. DataKeys 컬렉션을 만든 후 항목의 인덱스 값을 DataKeys 컬렉션에 전달하여 DataList의 관련 항목과 연결된 기본 키 값을 얻을 수 있습니다. 예를 들어 DataList가 표시하는 세 번째 항목의 기본 키 값을 얻으려면 DataList1.DataKeys[2]를 사용하면 됩니다. DataList 컨트롤의 경우 DataList1.DataKeys[e.Item.ItemIndex]를 사용합니다.

2. DataList의 항목을 편집합니다.

다음을 사용할 수 있습니다. DataList 컨트롤 실제로 데이터 테이블의 레코드를 편집하려면 여러 페이지 사이를 앞뒤로 전환해야 하는 ASP와 달리 DataList에서 이러한 작업을 완료하는 것이 매우 편리합니다. DataList 컨트롤에는 EditItemTemplate이라는 템플릿이 있으며, 여기에는 DataList에서 특정 항목을 편집할 수 있도록 양식 컨트롤이 배치됩니다. DataList의 EditItemIndex 속성 값이 DataList의 항목 인덱스인 경우 해당 항목이 EditItemTemplate 템플릿에 표시됩니다. 속성 값이 -1이면 EditItemTemplate 템플릿이 표시되지 않습니다. 표시됩니다.

3. DataList에서 항목 선택

데이터가 DataList에 바인딩된 후 DataList의 각 항목에는 인덱스 번호가 있으며 첫 번째 항목의 인덱스는 0이고 숫자는 아래쪽으로 매겨집니다. 인덱스를 사용하여 DataList의 특정 항목을 결정할 수 있습니다.
DataList는 기본적으로 ItemTemplate 또는 ItemTemplate+AlternatingItemTemplate 템플릿에 데이터 항목을 표시합니다. DataList의 SelectedIndex 속성 값이 DataList에 있는 항목의 인덱스인 경우 해당 항목이 SelectedItemTemplate 템플릿에 표시됩니다. 이 속성의 값이 -1이면 SelectedItemTemplate 템플릿이 표시되지 않음을 의미합니다.

4. 요약

위의 내용은 모두 이론적인 지식입니다. 직접 사용해 봐야 그 기능을 깊이 이해할 수 있습니다. 다음 블로그에서는 DataList에 대한 실용적인 장을 다룰 예정이니 계속 지켜봐 주시기 바랍니다. ! !

 

위 내용은 'ASP.NET' 데이터 바인딩에 대한 자세한 설명 - DataList의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿