Utiliser des Postbacks avec un ReorderList

| Christian Wenz | Pascal ROZE (Traducteur) |

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.

- Titre : Utiliser des Postbacks avec un ReorderList

- Auteurs : Christian Wenz, Pascal ROZE (Traducteur)

- Parution : 8 mai 2009

- Licence : Copyright ® 2009 Equipe Dotnet. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Sommaire

- Traduction

- Vue générale

- Etapes

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:

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

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

Chaque réorganisation de la liste entraine un postback.