We use one link button from which we pop up the grid view control and then inside the grid view whatever you choose will be shown in the other pop-up.

Initial Chamber

Step 1

Open Visual Studio 2010 and create an empty website, provide it a suitable name such as gridview_demo.

Step 2

In Solution Explorer you will get your empty website. Add a web form and SQL Database as in the following.

For Web Form

gridview_demo (your empty website) then right-click and select Add New Item, Web Form. Name it gridview_demo.aspx.

For SQL Server Database

gridview_demo (your empty website) then right-click and select Add New Item, SQL Server Database. (Add the database inside the App_Data_folder).

Database Chamber

Step 3

Get to your database (Database.mdf). We will create a table tbl_Data. Now go to the database.mdf, then Table and Add New table, design your table as in the following:

Table: tbl_data, don't forget to set the ID as Identity Specification - Yes.

table design

Design Chamber

Step 4

Now open your gridview_demo.aspx file, where we create our design for modal pop-up extender.

Gridview_demo.aspx

  1. <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
  2. <%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  4. <html xmlns="http://www.w3.org/1999/xhtml">
  5. <head runat="server">
  6. <title></title>
  7. <style type="text/css">
  8. .style2
  9. {
  10. width: 116px;
  11. }
  12. .style3
  13. {
  14. width: 202px;
  15. }
  16. #man
  17. {
  18. margin:200px,500px,0px,200px;
  19. padding:200px,550px,0px,200px;
  20. }
  21. .style4
  22. {
  23. font-size: large;
  24. text-align: left;
  25. }
  26. </style>
  27. </head>
  28. <body>
  29. <form id="form1" runat="server">
  30. <asp:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server">
  31. </asp:ToolkitScriptManager>
  32. <div>
  33. <asp:ModalPopupExtender ID="ModalPopupExtender1" EnableViewState="true" CancelControlID="Button2" TargetControlID="LinkButton1" PopupControlID="Panel1" runat="server">
  34. </asp:ModalPopupExtender>
  35. <div class="man">
  36. <asp:LinkButton ID="LinkButton1" runat="server"
  37. style="text-align: center" BackColor="#CCFFFF" ForeColor="#666633">Open your Grid View Here!!</asp:LinkButton>
  38. </div>
  39. <asp:LinkButton ID="Linkbtn" runat="server"></asp:LinkButton>
  40. <asp:ModalPopupExtender ID="ModalPopupExtender2" TargetControlID="Linkbtn" CancelControlID="btnclose" PopupControlID="Panel2" runat="server">
  41. </asp:ModalPopupExtender>
  42. <asp:Panel ID="Panel1" runat="server">
  43. <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
  44. CellPadding="4" onselectedindexchanged="GridView1_SelectedIndexChanged"
  45. ForeColor="#333333" GridLines="None">
  46. <AlternatingRowStyle BackColor="White" />
  47. <Columns>
  48. <asp:TemplateField HeaderText="id">
  49. <EditItemTemplate>
  50. <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("id") %>'></asp:TextBox>
  51. </EditItemTemplate>
  52. <ItemTemplate>
  53. <asp:Label ID="Label1" runat="server" Text='<%# Bind("id") %>'></asp:Label>
  54. </ItemTemplate>
  55. </asp:TemplateField>
  56. <asp:TemplateField HeaderText="Name">
  57. <EditItemTemplate>
  58. <asp:TextBox ID="TextBox2" runat="server" Text='<%# Bind("name") %>'></asp:TextBox>
  59. </EditItemTemplate>
  60. <ItemTemplate>
  61. <asp:Label ID="Label2" runat="server" Text='<%# Bind("name") %>'></asp:Label>
  62. </ItemTemplate>
  63. </asp:TemplateField>
  64. <asp:TemplateField HeaderText="City">
  65. <EditItemTemplate>
  66. <asp:TextBox ID="TextBox3" runat="server" Text='<%# Bind("city") %>'></asp:TextBox>
  67. </EditItemTemplate>
  68. <ItemTemplate>
  69. <asp:Label ID="Label3" runat="server" Text='<%# Bind("city") %>'></asp:Label>
  70. </ItemTemplate>
  71. </asp:TemplateField>
  72. <asp:ButtonField CommandName="Select" Text="Select" />
  73. </Columns>
  74. <FooterStyle BackColor="#990000" ForeColor="White" Font-Bold="True" />
  75. <HeaderStyle BackColor="#990000" Font-Bold="True" ForeColor="White" />
  76. <PagerStyle BackColor="#FFCC66" ForeColor="#333333" HorizontalAlign="Center" />
  77. <RowStyle ForeColor="#333333" BackColor="#FFFBD6" />
  78. <SelectedRowStyle BackColor="#FFCC66" Font-Bold="True" ForeColor="Navy" />
  79. <SortedAscendingCellStyle BackColor="#FDF5AC" />
  80. <SortedAscendingHeaderStyle BackColor="#4D0000" />
  81. <SortedDescendingCellStyle BackColor="#FCF6C0" />
  82. <SortedDescendingHeaderStyle BackColor="#820000" />
  83. </asp:GridView>
  84. <br />
  85. </asp:Panel>
  86. <asp:Panel ID="Panel2" runat="server">
  87. <table style="width: 100%;" bgcolor="#FFFFCC" border="1px">
  88. <caption class="style4">
  89. <strong> This is your Selected Data</strong></caption>
  90. <tr>
  91. <td class="style2">
  92. <asp:Label ID="Label7" runat="server" Text="ID:"></asp:Label>
  93. </td>
  94. <td class="style3">
  95. <asp:Label ID="Label4" runat="server" ForeColor="#009933" Text="Label"></asp:Label>
  96. </td>
  97. </tr>
  98. <tr>
  99. <td class="style2">
  100. <asp:Label ID="Label8" runat="server" Text="Name:"></asp:Label>
  101. </td>
  102. <td class="style3">
  103. <asp:Label ID="Label5" runat="server" Text="Label" ForeColor="#009933"></asp:Label>
  104. </td>
  105. </tr>
  106. <tr>
  107. <td class="style2">
  108. <asp:Label ID="Label9" runat="server" Text="City:"></asp:Label>
  109. </td>
  110. <td class="style3">
  111. <asp:Label ID="Label6" runat="server" ForeColor="#009933" Text="Label"></asp:Label>
  112. </td>
  113. </tr>
  114. <tr>
  115. <td class="style2">
  116. </td>
  117. <td class="style3">
  118. <asp:Button ID="btnclose" runat="server" BackColor="#99CCFF" Text="Close"/>
  119. </td>
  120. </tr>
  121. </table>
  122. </asp:Panel>
  123. </div>
  124. </form>
  125. </body>
  126. </html>
Your design will look like the following:

design

Code Chamber

Step 5

Open your gridview_demo.aspx.cs and write some code so that our application works.

Gridview_demo.cs
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Web;
  5. using System.Web.UI;
  6. using System.Web.UI.WebControls;
  7. using System.Data;
  8. using System.Data.SqlClient;
  9. public partial class _Default : System.Web.UI.Page
  10. {
  11. protected void Page_Load(object sender, EventArgs e)
  12. {
  13. if (!Page.IsPostBack)
  14. {
  15. SqlConnection con = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database.mdf;Integrated Security=True;User Instance=True");
  16. SqlCommand cmd = new SqlCommand("select * from tbl_data", con);
  17. SqlDataAdapter sda = new SqlDataAdapter(cmd);
  18. DataTable dt = new DataTable();
  19. sda.Fill(dt);
  20. GridView1.DataSource = dt;
  21. GridView1.DataBind();
  22. }
  23. }
  24. protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
  25. {
  26. Label4.Text = (GridView1.SelectedRow.FindControl("Label1") as Label).Text;
  27. Label5.Text = (GridView1.SelectedRow.FindControl("Label2") as Label).Text;
  28. Label6.Text = (GridView1.SelectedRow.FindControl("Label3") as Label).Text;
  29. ModalPopupExtender2.Show();
  30. }
  31. }
Output Chamber

Output

gridview

select data

It works like this. When you click on the first link, it will show the GridView in the pop-up. Inside the grid view we took a button field as Select, so when you click on the select button of any ID, it will call another Pop-up where we had shown that specific ID data that you have selected.

Have a good day! Thank you for reading. I hope you liked it.