通过 ReorderList 使用回发 (VB)
AJAX 控件工具包中的 ReorderList 控件提供了一个列表,用户可以通过拖放重新排序该列表。 每当列表重新排序时,回发应将更改通知服务器。
概述
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
:数据源的 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 和 Control Toolkit 的功能, ScriptManager
必须将控件放在页面上:
<asp:ScriptManager ID="asm" runat="server" />
每次重新排序都会触发回发 (单击以查看全尺寸图像)