Использование ConfirmButton в элементе управления Repeater (C#)

Кристиан Венц (Christian Wenz)

Загрузить PDF-файл

Расширитель ConfirmButton в наборе элементов управления AJAX создает всплывающее окно "Да/Нет", когда пользователь нажимает кнопку (включая элемент управления LinkButton). Действие кнопки выполняется только в том случае, если нажато значение Да. В противном случае оно будет отменено. Это также возможно в ретрансляторе.

Общие сведения

Расширитель ConfirmButton в наборе элементов управления AJAX создает всплывающее окно "Да/Нет", когда пользователь нажимает кнопку (включая элемент управления LinkButton). Действие кнопки выполняется только в том случае, если нажато значение Да. В противном случае оно будет отменено. Это также возможно в ретрансляторе.

Этапы

Прежде всего, требуется источник данных. В этом примере используется база данных AdventureWorks и SQL Server 2005, экспресс-выпуск Майкрософт. База данных является необязательной частью установки Visual Studio (включая экспресс-выпуск) и также доступна для отдельной загрузки в разделе https://go.microsoft.com/fwlink/?LinkId=64064. База данных AdventureWorks является частью SQL Server примеров и примеров баз данных 2005 года (скачать по адресу https://www.microsoft.com/download/details.aspx?id=10679). Самый простой способ настроить базу данных — использовать SQL Server Management Studio Майкрософт (/sql/ssms/download-sql-server-management-studio-ssms) и присоединить AdventureWorks.mdf файл базы данных.

В этом примере предполагается, что экземпляр SQL Server 2005, экспресс-выпуск вызывается SQLEXPRESS и находится на том же компьютере, что и веб-сервер. Это также настройка по умолчанию. Если конфигурация отличается, необходимо адаптировать сведения о подключении к базе данных.

Чтобы активировать функциональные возможности ASP.NET AJAX и набора средств управления, ScriptManager элемент управления должен находиться в любом месте страницы (но в элементе <form> ).

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

Затем требуется источник данных. Для простоты извлекаются только первые пять записей в таблице Vendors AdventureWorks. Обратите внимание, что при использовании мастера Visual Studio для создания источника данных имя таблицы (Vendors) в настоящее время неправильно имеет Purchasingпрефикс . Следующая разметка является правильной:

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

Затем этот источник данных можно использовать в ретрансляторе. Как обычно, DataBinder.Eval() метод извлекает данные из источника данных. Затем ConfirmButtonExtender элемент управления должен быть помещен в <ItemTemplate> раздел ретранслятора, чтобы он отображал его для каждой записи в источнике данных.

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

Рядом с каждой записью из источника данных отображается кнопка подтверждения.

Рядом с каждой записью из источника данных отображается кнопка подтверждения (щелкните для просмотра полноразмерного изображения)