Použití ovládacího prvku ConfirmButton v repeateru (C#)
Extender ConfirmButton v sadě nástrojů AJAX Control Toolkit vytvoří automaticky otevírané okno Ano/Ne, když uživatel klikne na tlačítko (včetně ovládacího prvku LinkButton). Pouze při kliknutí na Ano se akce tlačítka provede, jinak se zruší. To je také možné v opakovači.
Přehled
Extender ConfirmButton v sadě nástrojů AJAX Control Toolkit vytvoří automaticky otevírané okno Ano/Ne, když uživatel klikne na tlačítko (včetně ovládacího prvku LinkButton). Pouze při kliknutí na Ano se akce tlačítka provede, jinak se zruší. To je také možné v opakovači.
Postup
V první řadě se vyžaduje zdroj dat. Tato ukázka používá databázi AdventureWorks a microsoft SQL Server 2005 Express Edition. Databáze je volitelnou součástí instalace sady Visual Studio (včetně edice Express) a je také k dispozici jako samostatný soubor ke stažení v části https://go.microsoft.com/fwlink/?LinkId=64064. Databáze AdventureWorks je součástí SQL Server 2005 Samples and Sample Databases (ke stažení na adrese https://www.microsoft.com/download/details.aspx?id=10679). Nejjednodušším způsobem, jak databázi nastavit, je použít microsoft SQL Server Management Studio (/sql/ssms/download-sql-server-management-studio-ssms) a připojit AdventureWorks.mdf
soubor databáze.
U této ukázky předpokládáme, že se volá SQLEXPRESS
instance SQL Server 2005 Express Edition a nachází se na stejném počítači jako webový server. Jedná se také o výchozí nastavení. Pokud se vaše nastavení liší, musíte upravit informace o připojení pro databázi.
Aby bylo možné aktivovat funkce ASP.NET AJAX a Control Toolkit, ScriptManager
musí být ovládací prvek umístěn kdekoli na stránce (ale v rámci elementu <form>
):
<asp:ScriptManager ID="asm" runat="server" />
Potom se vyžaduje zdroj dat. Z důvodu jednoduchosti je načteno pouze prvních pět položek v tabulce AdventureWorks 'Vendors. Všimněte si, že při použití průvodce sadou Visual Studio k vytvoření zdroje dat nemá název tabulky (Vendors
) v současné době správnou předponu Purchasing
. Následující kód je správný:
<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]" />
Tento zdroj dat je pak možné použít v rámci opakovače. Jako obvykle DataBinder.Eval()
metoda načítá data ze zdroje dat. Ovládací ConfirmButtonExtender
prvek se pak musí umístit do oddílu <ItemTemplate>
opakovače, aby se zobrazil pro každou položku ve zdroji dat.
<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>
Vedle každé položky ze zdroje dat se zobrazí tlačítko Potvrdit (kliknutím zobrazíte obrázek v plné velikosti).