Verwenden von Postbacks mit dem ReorderList-Steuerelement (VB)
von Christian Wenz
Das ReorderList-Steuerelement im AJAX Control Toolkit stellt eine Liste bereit, die vom Benutzer per Drag and Drop neu angeordnet werden kann. Wenn die Liste neu sortiert wird, informiert ein Postback den Server über die Änderung.
Überblick
Das ReorderList
Steuerelement im AJAX Control Toolkit stellt eine Liste bereit, die vom Benutzer per Drag and Drop neu angeordnet werden kann. Wenn die Liste neu sortiert wird, informiert ein Postback den Server über die Änderung.
Schritte
Es gibt mehrere mögliche Datenquellen für das ReorderList
Steuerelement. Eine besteht darin, ein XmlDataSource
-Steuerelement zu verwenden:
<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>
Um diese XML an ein ReorderList
Steuerelement zu binden und Postbacks zu aktivieren, müssen die folgenden Attribute festgelegt werden:
DataSourceID
: Die ID der DatenquelleSortOrderField
: Die zu sortierende EigenschaftAllowReorder
: Gibt an, ob der Benutzer die Listenelemente neu anordnen kann.PostBackOnReorder
: Gibt an, ob bei jeder Neuordnung der Liste ein Postback erstellt werden soll.
Hier sehen Sie das geeignete Markup für das -Steuerelement:
<ajaxToolkit:ReorderList ID="rl1" runat="server" SortOrderField="char"
AllowReorder="true"
DataSourceID="XmlDataSource1" PostBackOnReorder="true">
Innerhalb des Steuerelements ReorderList
können bestimmte Daten aus der Datenquelle mithilfe der Eval()
-Methode gebunden werden:
<DragHandleTemplate>
<div class="DragHandleClass">
</div>
</DragHandleTemplate>
<ItemTemplate>
<div>
<asp:Label ID="ItemLabel" Text='<%# Eval("description") %>' runat="server" />
</div>
</ItemTemplate>
</ajaxToolkit:ReorderList>
An einer beliebigen Position auf der Seite enthält eine Bezeichnung die Informationen, wenn die letzte Neuanordnung erfolgt ist:
<div>
<asp:Label ID="lastUpdate" runat="server" />
</div>
Diese Bezeichnung ist mit Text im serverseitigen Code gefüllt, der das Postback behandelt:
<script runat="server">
Sub Page_Load()
If Page.IsPostBack Then
lastUpdate.Text = "List last reordered at " & DateTime.Now.ToLongTimeString()
End If
End Sub
</script>
Um schließlich die Funktionalität von ASP.NET AJAX und dem Control Toolkit zu aktivieren, muss das ScriptManager
Steuerelement auf der Seite platziert werden:
<asp:ScriptManager ID="asm" runat="server" />
Jede Neuanordnung löst ein Postback aus (Klicken Sie hier, um das Bild in voller Größe anzuzeigen)