Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Элемент управления ReorderList в наборе средств управления AJAX предоставляет список, который может быть переупорядочен пользователем с помощью перетаскивания. При переупорядочении списка постбэк должен уведомить сервер об изменении.
Обзор
Элемент ReorderList управления в наборе средств управления AJAX предоставляет список, который может быть переупорядочен пользователем с помощью перетаскивания. Каждый раз при переупорядочении списка постбэк должен сообщать серверу об изменении.
Шаги
Существует несколько возможных источников данных для 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: идентификатор источника данных -
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">
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" />
Каждое изменение порядка активирует постбэк (щелкните, чтобы увидеть изображение в полном размере)