AJAX 컨트롤 도구 키트의 ReorderList 컨트롤은 끌어서 놓기를 통해 사용자가 다시 정렬할 수 있는 목록을 제공합니다. 목록이 다시 정렬될 때마다 포스트백은 서버에 변경 사항을 알려야 합니다.
개요
AJAX 컨트롤 도구 키트의 컨트롤은 ReorderList
끌어서 놓기를 통해 사용자가 다시 정렬할 수 있는 목록을 제공합니다. 목록이 다시 정렬될 때마다 포스트백은 서버에 변경 사항을 알려야 합니다.
단계
컨트롤에 대한 몇 가지 가능한 데이터 원본이 있습니다 ReorderList
. 하나는 컨트롤을 사용하는 것입니다.XmlDataSource
<asp:XmlDataSource ID="XmlDataSource1" runat="server" XPath="acronym/letter">
<Data>
<acronym>
<letter char="A" description="Asynchronous" />
<letter char="J" description="JavaScript" />
<letter char="A" description="And" />
<letter char="X" description="XML" />
</acronym>
</Data>
</asp:XmlDataSource>
이 XML을 컨트롤에 바인딩하고 포스트백을 ReorderList
사용하도록 설정하려면 다음 특성을 설정해야 합니다.
DataSourceID
: 데이터 원본의 IDSortOrderField
: 정렬 기준 속성AllowReorder
: 사용자가 목록 요소의 순서를 다시 정렬할 수 있도록 허용할지 여부PostBackOnReorder
: 목록이 다시 정렬될 때마다 포스트백을 만들지 여부
컨트롤에 대한 적절한 태그는 다음과 같습니다.
<ajaxToolkit:ReorderList ID="rl1" runat="server" SortOrderField="char"
AllowReorder="true"
DataSourceID="XmlDataSource1" PostBackOnReorder="true">
컨트롤 내에서 ReorderList
데이터 원본의 특정 데이터는 메서드를 사용하여 바인딩될 수 있습니다.Eval()
<DragHandleTemplate>
<div class="DragHandleClass">
</div>
</DragHandleTemplate>
<ItemTemplate>
<div>
<asp:Label ID="ItemLabel" Text='<%# Eval("description") %>' runat="server" />
</div>
</ItemTemplate>
</ajaxToolkit:ReorderList>
페이지의 임의 위치에서 레이블은 마지막 다시 정렬이 발생했을 때 정보를 보유합니다.
<div>
<asp:Label ID="lastUpdate" runat="server" />
</div>
이 레이블은 서버 쪽 코드의 텍스트로 채워져 포스트백을 처리합니다.
<script runat="server">
Sub Page_Load()
If Page.IsPostBack Then
lastUpdate.Text = "List last reordered at " & DateTime.Now.ToLongTimeString()
End If
End Sub
</script>
마지막으로, ASP.NET AJAX 및 제어 도구 키트의 기능을 활성화하려면 컨트롤을 ScriptManager
페이지에 배치해야 합니다.
<asp:ScriptManager ID="asm" runat="server" />
각 다시 정렬은 포스트백을 트리거합니다(전체 크기 이미지를 보려면 클릭).