在 Repeater 中使用 ConfirmButton (VB)

作者 :Christian Wenz

下载 PDF

当用户单击按钮 (包括 LinkButton 控件) 时,AJAX 控件工具包中的 ConfirmButton 扩展程序会创建“是/否”弹出窗口。 仅当单击“是”时,才会执行按钮的操作,否则将取消。 这在中继器中也是可能的。

概述

当用户单击按钮 (包括 LinkButton 控件) 时,AJAX 控件工具包中的 ConfirmButton 扩展程序会创建“是/否”弹出窗口。 仅当单击“是”时,才会执行按钮的操作,否则将取消。 这在中继器中也是可能的。

步骤

首先,需要数据源。 此示例使用 AdventureWorks 数据库和 Microsoft SQL Server 2005 Express Edition。 数据库是 Visual Studio 安装 (包括 express edition) 的可选部分,也可在 下 https://go.microsoft.com/fwlink/?LinkId=64064单独下载。 AdventureWorks 数据库是 SQL Server 2005 示例和示例数据库的一部分, () https://www.microsoft.com/download/details.aspx?id=10679 下载。 设置数据库的最简单方法是使用 Microsoft SQL Server Management Studio (/sql/ssms/download-sql-server-management-studio-ssms) 并附加AdventureWorks.mdf数据库文件。

对于此示例,我们假定SQL Server 2005 Express Edition的实例被调用SQLEXPRESS并驻留在 Web 服务器所在的计算机上;这也是默认设置。 如果设置不同,则必须调整数据库的连接信息。

若要激活 ASP.NET AJAX 和 Control Toolkit 的功能, ScriptManager 必须将控件放置在页面上的任意位置 (但 <form> 位于 元素) :

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

然后,需要数据源。 为简单起见,仅检索 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>

确认按钮显示在数据源的每个条目旁边

确认按钮显示在数据源的每个条目旁边 (单击以查看全尺寸图像)