共用方式為


使用具有 ReorderList 的回傳 (VB)

作者:Christian Wenz

下載 PDF

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" />

每次重新排序都會觸發回傳

每次重新排序都會觸發回傳 (按一下以檢視完整大小的影像)