In this article I will explain with an example, how to implement delete functionality with JavaScript Confirmation Box in ASP.Net Repeater control using C# and VB.Net.
 
Database
I have made use of the following table Customers with the schema as follows.
Implement Delete with Confirmation in ASP.Net Repeater control
I have already inserted few records in the table.
Implement Delete with Confirmation in ASP.Net Repeater control
 
Note: You can download the database table SQL by clicking the download link below.
          Download SQL file
 
 
HTML Markup
The following HTML Markup consists of an ASP.Net Repeater control rendered an HTML table with three data columns and the fourth column consisting of a LinkButton for performing the Delete operation.
The LinkButton has been assigned an OnClientClick event handler in order to display the JavaScript Confirmation box.
<asp:Repeater ID="Repeater1" runat="server">
    <HeaderTemplate>
        <table cellspacing="0" rules="all" border="1">
            <tr>
                <th scope="col" style="width: 80px">
                    Customer Id
                </th>
                <th scope="col" style="width: 120px">
                   Customer Name
                </th>
                <th scope="col" style="width: 100px">
                    Country
                </th>
                <th style="width: 60px">
                </th>
            </tr>
    </HeaderTemplate>
    <ItemTemplate>
        <tr>
            <td>
                <asp:Label ID="lblCustomerId" runat="server" Text='<%# Eval("CustomerId") %>' />
            </td>
            <td>
                <asp:Label ID="lblContactName" runat="server" Text='<%# Eval("Name") %>' />
            </td>
            <td>
                <asp:Label ID="lblCountry" runat="server" Text='<%# Eval("Country") %>' />
            </td>
            <td>
                <asp:LinkButton ID="lnkDelete" Text="Delete" runat="server" OnClientClick="return confirm('Do you want to delete this Customer?');"
                    OnClick="DeleteCustomer" />
            </td>
        </tr>
    </ItemTemplate>
    <FooterTemplate>
        </table>
    </FooterTemplate>
</asp:Repeater>
 
 
Namespaces
You will need to import the following namespaces.
C#
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
 
VB.Net
Imports System.Data
Imports System.Data.SqlClient
Imports System.Configuration
 
 
Populating Repeater
Inside the Page Load event of the page, the Repeater control is populated with records from the Customers table.
C#
protected void Page_Load(object sender, EventArgs e)
{
    if (!this.IsPostBack)
    {
        this.BindRepeater();
    }
}
 
private void BindRepeater()
{
    string constr = ConfigurationManager.ConnectionStrings["constr"].ConnectionString;
    using (SqlConnection con = new SqlConnection(constr))
    {
        using (SqlCommand cmd = new SqlCommand("SELECT CustomerId, Name, Country FROM Customers", con))
        {
            using (SqlDataAdapter sda = new SqlDataAdapter(cmd))
            {
                using (DataTable dt = new DataTable())
                {
                    sda.Fill(dt);
                    Repeater1.DataSource = dt;
                    Repeater1.DataBind();
                }
            }
        }
    }
}
 
VB.Net
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
    If Not Me.IsPostBack Then
        Me.BindRepeater()
    End If
End Sub
 
Private Sub BindRepeater()
    Dim constr As String = ConfigurationManager.ConnectionStrings("constr").ConnectionString
    Using con As New SqlConnection(constr)
        Using cmd As New SqlCommand("SELECT CustomerId, Name, Country FROM Customers", con)
            Using sda As New SqlDataAdapter(cmd)
                Using dt As New DataTable()
                    sda.Fill(dt)
                    Repeater1.DataSource = dt
                    Repeater1.DataBind()
                End Using
            End Using
        End Using
    End Using
End Sub
 
 
Implementing Delete functionality in Repeater control
The following event handler is executed when Delete LinkButton is clicked. First the reference of the Repeater Item is fetched and then the CustomerId of the record is determined.
Then using the CustomerId value the record is deleted from the database and the BindRepeater function is called which repopulates the Repeater control with the updated data.
C#
protected void DeleteCustomer(object sender, EventArgs e)
{
    int customerId = int.Parse(((sender as LinkButton).NamingContainer.FindControl("lblCustomerId") as Label).Text);
    string constr = ConfigurationManager.ConnectionStrings["constr"].ConnectionString;
    using (SqlConnection con = new SqlConnection(constr))
    {
        using (SqlCommand cmd = new SqlCommand("DELETE FROM Customers WHERE CustomerId = @CustomerId", con))
        {
            cmd.Parameters.AddWithValue("@CustomerId", customerId);
            con.Open();
            cmd.ExecuteNonQuery();
            con.Close();
        }
    }
 
    this.BindRepeater();
}
 
VB.Net
Protected Sub DeleteCustomer(sender As Object, e As EventArgs)
    Dim customerId As Integer = Integer.Parse(TryCast(TryCast(sender, LinkButton).NamingContainer.FindControl("lblCustomerId"), Label).Text)
    Dim constr As String = ConfigurationManager.ConnectionStrings("constr").ConnectionString
    Using con As New SqlConnection(constr)
        Using cmd As New SqlCommand("DELETE FROM Customers WHERE CustomerId = @CustomerId", con)
            cmd.Parameters.AddWithValue("@CustomerId", customerId)
            con.Open()
            cmd.ExecuteNonQuery()
            con.Close()
        End Using
    End Using
 
    Me.BindRepeater()
End Sub
 
 
Screenshot
Implement Delete with Confirmation in ASP.Net Repeater control
 
 
Demo
 
 
Downloads