使用具有 ReorderList 的回傳 (VB)
AJAX Control Toolkit 中的 ReorderList 控制項提供可讓使用者透過拖放方式重新排序的清單。 每當重新排列清單時,回傳應向伺服器通知變更。
概觀
AJAX Control Toolkit 中的 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
:資料來源的識別碼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 的功能和 Control Toolkit,必須將 ScriptManager
控制項放在頁面上:
<asp:ScriptManager ID="asm" runat="server" />
每次重新排序都會觸發回傳 (按一下以檢視完整大小的影像)