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:

 
Sélectionnez

<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:

 
Sélectionnez

<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:

 
Sélectionnez

<div>      
	<asp:Label ID="lastUpdate" runat="server" /> 
</div>

Ce label est rempli côté serveur, à chaque postback:

 
Sélectionnez

<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

 
Sélectionnez

<asp:ScriptManager ID="asm" runat="server" />
Image non disponible
Chaque réorganisation de la liste entraine un postback.