Utilisation d’un ConfirmButton dans un répéteur (VB)
par Christian Wenz
L’extendeur ConfirmButton dans ajax Control Toolkit crée une fenêtre contextuelle Oui/Non lorsque l’utilisateur clique sur un bouton (y compris le contrôle LinkButton). Si vous cliquez sur Oui, l’action du bouton est exécutée, sinon annulée. Cela est également possible dans un répéteur.
Vue d’ensemble
L’extendeur ConfirmButton dans ajax Control Toolkit crée une fenêtre contextuelle Oui/Non lorsque l’utilisateur clique sur un bouton (y compris le contrôle LinkButton). Si vous cliquez sur Oui, l’action du bouton est exécutée, sinon annulée. Cela est également possible dans un répéteur.
Étapes
Tout d’abord, une source de données est requise. Cet exemple utilise la base de données AdventureWorks et microsoft SQL Server 2005 Express Edition. La base de données est une partie facultative d’une installation de Visual Studio (y compris express edition) et est également disponible en tant que téléchargement distinct sous https://go.microsoft.com/fwlink/?LinkId=64064. La base de données AdventureWorks fait partie de la SQL Server 2005 Samples and Sample Databases (télécharger à l’adresse https://www.microsoft.com/download/details.aspx?id=10679). Le moyen le plus simple de configurer la base de données consiste à utiliser microsoft SQL Server Management Studio (/sql/ssms/download-sql-server-management-studio-ssms) et à attacher le AdventureWorks.mdf
fichier de base de données.
Pour cet exemple, nous partons du principe que la instance du SQL Server 2005 Express Edition est appelée SQLEXPRESS
et réside sur la même machine que le serveur web ; il s’agit également de la configuration par défaut. Si votre configuration diffère, vous devez adapter les informations de connexion pour la base de données.
Pour activer les fonctionnalités de ASP.NET AJAX et control Toolkit, le ScriptManager
contrôle doit être placé n’importe où sur la page (mais dans l’élément <form>
) :
<asp:ScriptManager ID="asm" runat="server" />
Ensuite, une source de données est requise. Par souci de simplicité, seules les cinq premières entrées de la table Vendors d’AdventureWorks sont récupérées. Notez que lorsque vous utilisez l’Assistant Visual Studio pour créer la source de données, le nom de la table (Vendors
) n’est actuellement pas correctement préfixé avec Purchasing
. Le balisage suivant est correct :
<asp:SqlDataSource ID="sds1" runat="server" ConnectionString="
Data Source=(local)\SQLEXPRESS;Initial Catalog=AdventureWorks;Integrated Security=True"
ProviderName="System.Data.SqlClient" SelectCommand="SELECT TOP 5
[VendorID], [Name] FROM [Purchasing].[Vendor]" />
Cette source de données peut ensuite être utilisée dans un répéteur. Comme d’habitude, la DataBinder.Eval()
méthode récupère les données de la source de données. Le ConfirmButtonExtender
contrôle doit ensuite être placé dans la <ItemTemplate>
section du répéteur afin qu’il apparaisse pour chaque entrée dans la source de données.
<div>
<ul>
<asp:Repeater ID="rep1" DataSourceID="sds1" runat="server">
<ItemTemplate>
<li>
<%#DataBinder.Eval(Container.DataItem, "Name")%>
<asp:LinkButton ID="btn1" Text="Remove Item" runat="server" />
<ajaxToolkit:ConfirmButtonExtender ID="cfe1" runat="server" TargetControlID="btn1" ConfirmText="Are you sure?!" />
</li>
</ItemTemplate>
</asp:Repeater>
</ul>
</div>
Le bouton Confirmer apparaît en regard de chaque entrée de la source de données (cliquez pour afficher l’image en taille réelle)