Hi,
Here I have created sample that will help you out.
HTML
<div>
<cc1:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server">
</cc1:ToolkitScriptManager>
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="Reg_ID"
GridLines="None">
<Columns>
<asp:BoundField DataField="Reg_ID" HeaderText="REGISTRATION ID" ReadOnly="True" SortExpression="Registration ID" />
<asp:BoundField DataField="Vis_Name" HeaderText="VISITOR NAME" SortExpression="Vis_Name" />
<asp:BoundField DataField="Vis_Contact" HeaderText="VISITOR CONTACT" SortExpression="Vis_Contact" />
<asp:TemplateField>
<ItemTemplate>
<asp:Button Text="View" runat="server" OnClick="View" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<asp:LinkButton ID="lnkDummy" runat="server"></asp:LinkButton>
<cc1:ModalPopupExtender ID="ModalPopupExtender1" BehaviorID="mpe" runat="server"
PopupControlID="pnlPopup" TargetControlID="lnkDummy" BackgroundCssClass="modalBackground"
CancelControlID="btnHide">
</cc1:ModalPopupExtender>
<asp:Panel ID="pnlPopup" runat="server" CssClass="modalPopup" Style="display: none">
<asp:FormView ID="FormView1" runat="server" DataKeyNames="Reg_ID" CellPadding="4"
ForeColor="#333333">
<EditItemTemplate>
Reg_ID:
<asp:Label ID="Reg_IDLabel1" runat="server" Text='<%# Eval("Reg_ID") %>' />
<br />
Vis_Name:
<asp:TextBox ID="Vis_NameTextBox" runat="server" Text='<%# Bind("Vis_Name") %>' />
</EditItemTemplate>
<InsertItemTemplate>
Reg_ID:
<asp:TextBox ID="Reg_IDTextBox" runat="server" Text='<%# Bind("Reg_ID") %>' />
<br />
Vis_Name:
<asp:TextBox ID="Vis_NameTextBox" runat="server" Text='<%# Bind("Vis_Name") %>' />
</InsertItemTemplate>
<ItemTemplate>
Reg_ID:
<asp:Label ID="Reg_IDLabel" runat="server" Text='<%# Eval("Reg_ID") %>' />
<br />
Vis_Name:
<asp:Label ID="Vis_NameLabel" runat="server" Text='<%# Bind("Vis_Name") %>' />
</ItemTemplate>
</asp:FormView>
<asp:Button ID="btnHide" runat="server" Text="Hide Modal Popup" />
</asp:Panel>
</div>
C#
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
DataTable dt = new DataTable();
dt.Columns.AddRange(new DataColumn[] {
new DataColumn("Reg_ID"),
new DataColumn("Vis_Name"),
new DataColumn("Vis_Contact")
});
dt.Rows.Add(1, "David", "111111111");
dt.Rows.Add(2, "Kevin", "223222222");
dt.Rows.Add(3, "Jhon", "333333335");
GridView1.DataSource = dt;
GridView1.DataBind();
BindDummy();
}
}
protected void View(object sender, EventArgs e)
{
Button btn = sender as Button;
GridViewRow row = btn.NamingContainer as GridViewRow;
int Reg_ID = Convert.ToInt32(GridView1.DataKeys[row.RowIndex].Value);
// Write Code to Get Data form Database Here I am binding some Data manually
DataTable dt = new DataTable();
dt.Columns.AddRange(new DataColumn[] {
new DataColumn("Reg_ID"),
new DataColumn("Vis_Name")
});
dt.Rows.Add(1, "Todd");
dt.Rows.Add(2, "Andrea");
dt.Rows.Add(3, "Peter");
FormView1.DataSource = dt;
FormView1.DataBind();
ModalPopupExtender1.Show();
}
private void BindDummy()
{
DataTable dt = new DataTable();
dt.Columns.AddRange(new DataColumn[] {
new DataColumn("Reg_ID"),
new DataColumn("Vis_Name")
});
dt.Rows.Add();
FormView1.DataSource = dt;
FormView1.DataBind();
}
VB
Protected Sub Page_Load(sender As Object, e As EventArgs)
If Not Me.IsPostBack Then
Dim dt As New DataTable()
dt.Columns.AddRange(New DataColumn() {New DataColumn("Reg_ID"), New DataColumn("Vis_Name"), New DataColumn("Vis_Contact")})
dt.Rows.Add(1, "David", "111111111")
dt.Rows.Add(2, "Kevin", "223222222")
dt.Rows.Add(3, "Jhon", "333333335")
GridView1.DataSource = dt
GridView1.DataBind()
BindDummy()
End If
End Sub
Protected Sub View(sender As Object, e As EventArgs)
Dim btn As Button = TryCast(sender, Button)
Dim row As GridViewRow = TryCast(btn.NamingContainer, GridViewRow)
Dim Reg_ID As Integer = Convert.ToInt32(GridView1.DataKeys(row.RowIndex).Value)
' Write Code to Get Data form Database Here I am binding some Data manually
Dim dt As New DataTable()
dt.Columns.AddRange(New DataColumn() {New DataColumn("Reg_ID"), New DataColumn("Vis_Name")})
dt.Rows.Add(1, "Todd")
dt.Rows.Add(2, "Andrea")
dt.Rows.Add(3, "Peter")
FormView1.DataSource = dt
FormView1.DataBind()
ModalPopupExtender1.Show()
End Sub
Private Sub BindDummy()
Dim dt As New DataTable()
dt.Columns.AddRange(New DataColumn() {New DataColumn("Reg_ID"), New DataColumn("Vis_Name")})
dt.Rows.Add()
FormView1.DataSource = dt
FormView1.DataBind()
End Sub
Screenshot
