Traduction▲
Cet article est la traduction la plus fidèle possible de l'article original: Using Postbacks with ReorderList
Vue générale▲
Le contrôle ReorderList de l'AJAX Control Toolkit permet de générer une liste qui peut être réorganisée par l'utilisateur via un glisser- déposer. A chaque fois qu'une liste est réorganisée, un PostBack informe le serveur des changements.
Etapes▲
Il y a plusieurs sources de données possibles pour le contrôle ReorderList. L'une d'entre elles est le contrôle 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>
				Dans le but de binder ce XML au contrôle ReorderList et d'activer les postbacks, les attributs suivant doivent être définis:
 - DataSourceID: l'ID de la source de données
 - SortOrderField: la propriété sur laquelle s'appliquera le tri
 - AllowReorder: Indique si l'utilisateur peut ou non réorganisé la liste
 - PostBackOnReorder: Indique si un postback doit être déclenché ou non quand la liste est réorganisée.
Ci-dessous le code pour créer ce contrôle:
<ajaxToolkit:ReorderList ID="rl1" runat="server" SortOrderField="char"      
	AllowReorder="true"      
	DataSourceID="XmlDataSource1" 
	PostBackOnReorder="true">On ajoute également un label qui affichera l'heure de la dernière réorganisation de la liste:
Ce label est rempli côté serveur, à chaque postback:
<script runat="server">      
	void Page_Load()      
	{           
		if (Page.IsPostBack)           
		{                
			lastUpdate.Text = "List last reordered at " + DateTime.Now.ToLongTimeString();           
		}      
	} 
</script>Pour terminer, afin d'activer les fonctionnalités d'ASP.NET AJAX et du Control Toolkit, le contrôle ScriptManager doit être ajouté à la page
<asp:ScriptManager ID="asm" runat="server" />





