Share via


ReorderList에 포스트백 사용(C#)

작성자: Christian Wenz

PDF 다운로드

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: 데이터 원본의 ID
  • SortOrderField: 정렬 기준 속성
  • 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">
 void Page_Load()
 {
 if (Page.IsPostBack)
 {
 lastUpdate.Text = "List last reordered at " + 
 DateTime.Now.ToLongTimeString();
 }
 }
</script>

마지막으로, ASP.NET AJAX 및 제어 도구 키트의 기능을 활성화하려면 컨트롤을 ScriptManager 페이지에 배치해야 합니다.

<asp:ScriptManager ID="asm" runat="server" />

각 다시 정렬은 포스트백을 트리거합니다.

각 다시 정렬은 포스트백을 트리거합니다(전체 크기 이미지를 보려면 클릭).