使用具有 ReorderList 的回傳 (C#)

作者 :一個是一個

下載 PDF

AJAX 控制項工具組中的 ReorderList 控制項提供清單,可透過拖放方式由使用者重新排序。 每當重新排序清單時,回傳應該通知伺服器變更。

概觀

ReorderListAJAX 控制項工具組中的控制項提供清單,可透過拖放方式由使用者重新排序。 每當重新排序清單時,回傳應該通知伺服器變更。

步驟

控制項有數個可能的資料來源 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">
 void Page_Load()
 {
 if (Page.IsPostBack)
 {
 lastUpdate.Text = "List last reordered at " + 
 DateTime.Now.ToLongTimeString();
 }
 }
</script>

最後,若要啟用 ASP.NET AJAX 和 Control Toolkit 的功能, ScriptManager 控制項必須放在頁面上:

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

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

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