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
