how to Nested ModalPopupExtender to Insert, Update & Delete data.




Default.aspx

<style type="text/css">
     .ModalPopupBG
    {
    background-color:Black; 
    opacity:0.5;
    }

</style>




<asp:ImageButton ID="LinkButton1" runat="server" ImageUrl="~/img/click here.jpg"></asp:ImageButton>
        

<cc1:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server">
        </cc1:ToolkitScriptManager>


 <cc1:ModalPopupExtender ID="ModalPopupExtender1" runat="server"
         TargetControlID="LinkButton1" PopupControlID="GridView1"
          BackgroundCssClass="ModalPopupBG">
        </cc1:ModalPopupExtender>


       <center>
        <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"

              ShowFooter="true"
              CellPadding="4" ForeColor="#333333" GridLines="None" Width="440px">
            <RowStyle BackColor="#FFFBD6" ForeColor="#333333" />


        <Columns>
        <asp:TemplateField>
                <ItemTemplate>
                      <asp:HiddenField ID="HiddenField1" runat="server"

                       Value='<%#Eval("id") %>' />
               </ItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField HeaderText="name">
              <ItemTemplate>
                      <asp:Label ID="Label1" style="text-transform:capitalize" runat="server"

                       Text='<%#Eval("name") %>'></asp:Label>
             </ItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField HeaderText="city">
               <ItemTemplate>
                      <asp:Label ID="Label2" style="text-transform:capitalize" runat="server"

                       Text='<%#Eval("city") %>'></asp:Label>
               </ItemTemplate>
        <FooterTemplate>
                     <asp:LinkButton ID="ins" runat="server" ForeColor="#FFFFCC" 

                      onclick="ins_Click">Insert</asp:LinkButton>
        </FooterTemplate>
        </asp:TemplateField>
        <asp:TemplateField HeaderText="phone">
                <ItemTemplate>
                       <asp:Label ID="Label3" runat="server" Text='<%#Eval("phone_no") %>'>

                       </asp:Label>
               </ItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField HeaderText="Edit/Delete">
               <ItemTemplate>
                       <asp:LinkButton ID="LinkButton2" runat="server" 

                       onclick="LinkButton2_Click">Edit</asp:LinkButton>
                      <asp:LinkButton ID="LinkButton3" runat="server" 

                      onclick="LinkButton3_Click">Delete</asp:LinkButton>
              </ItemTemplate>
       </asp:TemplateField>
             
        </Columns>
            <FooterStyle BackColor="#990000" Font-Bold="True" ForeColor="White" />
            <PagerStyle BackColor="#FFCC66" ForeColor="#333333"

              HorizontalAlign="Center" />
            <SelectedRowStyle BackColor="#FFCC66" Font-Bold="True" ForeColor="Navy" />
            <HeaderStyle BackColor="#990000" Font-Bold="True" ForeColor="White" />
            <AlternatingRowStyle BackColor="White" />
        </asp:GridView>
       
           <cc1:ModalPopupExtender ID="ModalPopupExtender2" runat="server"
            TargetControlID="TextBox1" PopupControlID="pnl_ins"
             BackgroundCssClass="ModalPopupBG">
           </cc1:ModalPopupExtender>
       
           <asp:Panel ID="pnl_ins" runat="server">
          
           <table border="1" style="width: 237px">
           <tr>
           <td>
                   Name:
           </td>
           <td>
                  <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
           </td>
           </tr>
           <tr>
           <td>
                   City:
           </td>
           <td>
               <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
           </td>
           </tr>
           <tr>
           <td>
                  Phone:
           </td>
           <td>
               <asp:TextBox ID="TextBox3" runat="server"></asp:TextBox>
           </td>
           </tr>
           <tr>
           <td>
               <asp:Button ID="Button1" runat="server" ToolTip="Insert" Text="Add"

                onclick="Button1_Click" />
           </td>
           </tr>
           </table>
          
           </asp:Panel>

</center>


Default.aspx.CS

  public partial class _Default : System.Web.UI.Page
  {
     static int i;
     SqlConnection cn = new SqlConnection(@"Data Source=SQLDB;Persist Security

     Info=True;User ID=Demod;Password=Demo1@");

     DataTable dt = new DataTable();
  public void showgrid()
  {
       cn.Open();
       SqlDataAdapter da = new SqlDataAdapter("select * from v_demo", cn);
       da.Fill(dt);
       GridView1.DataSource = dt;
       GridView1.DataBind();
       cn.Close();

 }
 protected void Page_Load(object sender, EventArgs e)
 {
        if (!IsPostBack)
        {
            showgrid();
        }
 }
 protected void ins_Click(object sender, EventArgs e)
 {
        ModalPopupExtender2.Show();
 }
 protected void Button1_Click(object sender, EventArgs e)
 {
        if (Button1.Text == "Add")
        { 

            cn.Open();
            SqlCommand cmd = new SqlCommand("insert into v_demo values

            ('" + TextBox1.Text + "','" + TextBox2.Text + "','" + TextBox3.Text + "')", cn);
            cmd.ExecuteNonQuery();
            cn.Close(); 

            showgrid();
            ModalPopupExtender1.Show();
        }
       else
       {
            cn.Open();
            SqlCommand cmd = new SqlCommand("update v_demo 

            set name='" + TextBox1.Text + "',city='" + TextBox2.Text + "',
            phone_no='" + TextBox3.Text + "' where id=" + i + "", cn);
            cmd.ExecuteNonQuery();
            cn.Close(); 

            showgrid();
            ModalPopupExtender1.Show();
            TextBox1.Text = "";
            TextBox2.Text = "";
            TextBox3.Text = "";
            Button1.Text = "Add";
        }
    }
    protected void LinkButton2_Click(object sender, EventArgs e)
    {
        ModalPopupExtender2.Show();
        Button1.Text = "Update";
        LinkButton lb = (LinkButton)sender;
        GridViewRow gr = (GridViewRow)lb.NamingContainer;
        HiddenField id = (HiddenField)gr.FindControl("HiddenField1");
        Label nm = (Label)gr.FindControl("Label1");
        Label ct = (Label)gr.FindControl("Label2");
        Label ph = (Label)gr.FindControl("Label3");
        TextBox1.Text = nm.Text;
        TextBox2.Text = ct.Text;
        TextBox3.Text = ph.Text;
        i = Convert.ToInt32(id.Value);

    }
    protected void LinkButton3_Click(object sender, EventArgs e)
    {
        LinkButton lb = (LinkButton)sender;
        GridViewRow gr = (GridViewRow)lb.NamingContainer;
        HiddenField id = (HiddenField)gr.FindControl("HiddenField1");
        int id1 = Convert.ToInt32(id.Value);
        SqlCommand cmd = new SqlCommand("delete from v_demo where id=" + id1 + "", cn);
        cn.Open();
        cmd.ExecuteNonQuery();
        cn.Close(); 

        showgrid();
        ModalPopupExtender1.Show();

    }