Insert, Edit, Delete( with ok,cancel confirmation using javascript,c#) operations performed into grid view

Html:

DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <script type = "text/javascript">
        function Confirm() {
            var confirmValue = document.createElement("INPUT");
            confirmValue.type = "hidden";
            confirmValue.name = "confirm_value";
            if (confirm("Do you want to Delete data?")) {
                confirmValue.value = "Yes";
            } else {
                confirmValue.value = "No";
            }
            document.forms[0].appendChild(confirmValue);

        }
       
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <div>
    <asp:LinkButton ID="_addNewEmployee" runat="server" Text="Add New Employee" 
            onclick="_addNewEmployee_Click" />
    </div>
        <asp:GridView ID="GridView1" runat="server" Width="100%" 
            AutoGenerateColumns="false" onrowcommand="GridView1_RowCommand" 
            onrowdeleting="GridView1_RowDeleting" DataKeyNames="EmpId" 
            ondatabound="GridView1_DataBound" onrowdatabound="GridView1_RowDataBound" >
            
            <Columns>
                <asp:TemplateField>
                    <ItemTemplate>
                        <asp:LinkButton ID="_edit" runat="server" Text="Edit" CommandName="Edit_Row"></asp:LinkButton>
                        <asp:HiddenField ID="_hidden" runat="server" Value='<%# Bind("FirstName") %>' />
                        <asp:LinkButton ID="_delete" runat="server" Text="Delete" CommandName="Delete"  OnClientClick = "Confirm()"></asp:LinkButton> <%--CommandName="Delete"--%>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="FirstName">
                    <ItemTemplate>
                        <asp:Label ID="Label1" runat="server" Text='<%# Bind("FirstName") %>'></asp:Label>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="LastName">
                    <ItemTemplate>
                        <asp:Label ID="Label2" runat="server" Text='<%# Bind("LastName") %>'></asp:Label>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="BirthDate">
                    <ItemTemplate>
                        <asp:Label ID="_birthDate" runat="server" Text='<%# Bind("BirthDate") %>'></asp:Label>
                    </ItemTemplate>
                </asp:TemplateField>
            </Columns>
        </asp:GridView>
    
    </div>
    </form>
</body>
</html>


code behind file.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using EntityLayer;
using BusinessLayer;
using DataLayer;
using System.Data;
using System.Data.SqlClient;

namespace TestWebApps
{
    public partial class EmployeeList : System.Web.UI.Page
    {
        readonly BusinessClass _businessClass = new BusinessClass();
        private int _empId;

        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                FillGrid();
            }
        }

        private void FillGrid()
        {
            
            GridView1.DataSource = _businessClass.GetEmployeeDetails();
            GridView1.DataBind();
        }

        protected void _addNewEmployee_Click(object sender, EventArgs e)
        {
            const int empId = 0;
            Response.Redirect("AddNewOrEditEmployee.aspx?EmpId="+empId);
        }

        protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            GridViewRow gvr=(GridViewRow)((LinkButton)e.CommandSource).NamingContainer;            
            _empId = Convert.ToInt32(GridView1.DataKeys[gvr.RowIndex].Values[0].ToString());

            if (e.CommandName.Equals("Edit_Row"))
            {
                Response.Redirect("AddNewOrEditEmployee.aspx?EmpId="+(_empId));
            }
            

        }    
        protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
        {
            var empId = Convert.ToInt32(GridView1.DataKeys[e.RowIndex].Values[0].ToString());
// Here is the line used to get the javascript values "ok / cancel".
            string confirmValue = Request.Form["confirm_value"];

            if (confirmValue == "Yes")
            {
                _businessClass.DeleteEmployee(empId);
                FillGrid();
            }
            else
            {
                FillGrid();
            }
        }
    }

}


Comments