Uso di ConfirmButton in un controllo Repeater (C#)

di Christian Wenz

Scarica il PDF

L'estensione ConfirmButton in AJAX Control Toolkit crea un popup Sì/No quando l'utente fa clic su un pulsante (incluso il controllo LinkButton). Solo se si fa clic su Sì, viene eseguita l'azione del pulsante, altrimenti annullata. Ciò è possibile anche in un ripetitore.

Panoramica

L'estensione ConfirmButton in AJAX Control Toolkit crea un popup Sì/No quando l'utente fa clic su un pulsante (incluso il controllo LinkButton). Solo se si fa clic su Sì, viene eseguita l'azione del pulsante, altrimenti annullata. Ciò è possibile anche in un ripetitore.

Passaggi

Prima di tutto, è necessaria un'origine dati. In questo esempio vengono usati il database AdventureWorks e microsoft SQL Server 2005 Express Edition. Il database è una parte facoltativa di un'installazione di Visual Studio (inclusa l'edizione rapida) ed è disponibile anche come download separato in https://go.microsoft.com/fwlink/?LinkId=64064. Il database AdventureWorks fa parte degli esempi e dei database di esempio di SQL Server 2005 (scaricare all'indirizzo https://www.microsoft.com/download/details.aspx?id=10679). Il modo più semplice per impostare il database consiste nell'usare Microsoft SQL Server Management Studio (/sql/ssms/download-sql-server-management-studio-ssms) e allegare il file di AdventureWorks.mdf database.

Per questo esempio si presuppone che l'istanza del SQL Server 2005 Express Edition venga chiamata SQLEXPRESS e risieda nello stesso computer del server Web. Si tratta anche dell'installazione predefinita. Se la configurazione è diversa, è necessario adattare le informazioni di connessione per il database.

Per attivare la funzionalità di ASP.NET AJAX e Control Toolkit, il ScriptManager controllo deve essere inserito in qualsiasi punto della pagina (ma all'interno dell'elemento <form> ):

<asp:ScriptManager ID="asm" runat="server" />

È quindi necessaria un'origine dati. Per semplicità, vengono recuperate solo le prime cinque voci nella tabella Vendors di AdventureWorks. Si noti che quando si usa la procedura guidata di Visual Studio per creare l'origine dati, il nome della tabella (Vendors) non è attualmente preceduto correttamente da Purchasing. Il markup seguente è quello corretto:

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

Questa origine dati può quindi essere usata all'interno di un ripetitore. Come di consueto, il DataBinder.Eval() metodo recupera i dati dall'origine dati. Il ConfirmButtonExtender controllo deve quindi essere posizionato all'interno della <ItemTemplate> sezione del ripetitore in modo che venga visualizzato per ogni voce nell'origine dati.

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

Accanto a ogni voce dell'origine dati viene visualizzato il pulsante Conferma

Il pulsante conferma viene visualizzato accanto a ogni voce dell'origine dati (fare clic per visualizzare l'immagine a dimensione intera)