Here's my code:
Page1 Aspx
<asp:Panel ID="Panel1" BorderWidth ="0" runat="server" ScrollBars ="Horizontal"  CssClass="modalPopup"  Width ="1050" Wrap ="true"  >
             <table style="width: 813px; float: left;" border="0" cellpadding="0" cellspacing="0">
                       <tr> <td>                         
                        <asp:GridView ID="Gridview1" runat="server"  OnRowDataBound ="OnRowDataBound" OnRowEditing ="OnRowEditing" RowStyle-Wrap ="true" EmptyDataText="No records has been added."  ShowFooter="True" AutoGenerateColumns="False" Width="500px" Font-Size ="9pt" GridLines="None">
         <Columns>
                <asp:TemplateField HeaderText="SrNo" >
                    <ItemTemplate>
                        <%# Container.DataItemIndex + 1 %>
                    </ItemTemplate>
                     <ItemStyle HorizontalAlign="Left" Width="45%" Wrap="true" />
                    
                </asp:TemplateField>
            <asp:BoundField DataField="ItemName" HeaderText="Item Name" ItemStyle-Width="120" />
             <asp:TemplateField HeaderText = "QUANTITY">
            <ItemTemplate>
             
               <asp:Label ID="lblQty" runat="server" Text='<%# Eval("QTYOrdered")%>'></asp:Label>
                
            </ItemTemplate>
                 <ItemStyle Width ="20px" />
            <EditItemTemplate>
                <asp:Label ID="lblQty" runat="server" Text='<%# Eval("QTYOrdered")%>' Visible ="false" ></asp:Label>
                <asp:TextBox ID="txtQty2" runat="server" AutoPostBack ="true"  Text='<%# Eval("QTYOrdered")%>' Width ="50px"></asp:TextBox>
                </EditItemTemplate>
                  <ItemStyle HorizontalAlign="Left" Width="20px" Wrap="true" />
        </asp:TemplateField>
<asp:TemplateField>
             <FooterStyle HorizontalAlign="Right" />
                    <FooterTemplate>
                   
                        
                       
                    </FooterTemplate>
                </asp:TemplateField>
            </Columns>
<FooterStyle BackColor ="#dadfff" />
        </asp:GridView>
                       </td></tr>
                                </table> 
                     </asp:Panel> 
<asp:Button ID="Button1" runat="server" PostBackUrl="page2.aspx" Text="Button" />
Page2 Code behind
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If PreviousPage IsNot Nothing AndAlso PreviousPage.IsCrossPagePostBack Then
            Dim content As ContentPlaceHolder = DirectCast(Page.PreviousPage.Form.FindControl("cph"), ContentPlaceHolder)
            Dim gview As GridView = CType(content.FindControl("Gridview1"), GridView)
            Dim pn As Panel = Panel1
            pn.Controls.Add(gview)
            
            Form.Controls.Add(pn)
            
            Else
        End If
 End Sub
Page2 Aspx
<asp:Panel ID="Panel1" BorderWidth ="0" runat="server" ScrollBars ="Horizontal"  CssClass="modalPopup"  Width ="1050" Wrap ="true"  >
             <table style="width: 813px; float: left;" border="0" cellpadding="0" cellspacing="0">
                       <tr> <td>                         
                        <asp:GridView ID="Gridview1" runat="server"  OnRowDataBound ="OnRowDataBound" OnRowEditing ="OnRowEditing" RowStyle-Wrap ="true" EmptyDataText="No records has been added."  ShowFooter="True" AutoGenerateColumns="False" Width="500px" Font-Size ="9pt" GridLines="None">
         <Columns>
                <asp:TemplateField HeaderText="SrNo" >
                    <ItemTemplate>
                        <%# Container.DataItemIndex + 1 %>
                    </ItemTemplate>
                     <ItemStyle HorizontalAlign="Left" Width="45%" Wrap="true" />
                    
                </asp:TemplateField>
            <asp:BoundField DataField="ItemName" HeaderText="Item Name" ItemStyle-Width="120" />
             <asp:TemplateField HeaderText = "QUANTITY">
            <ItemTemplate>
             
               <asp:Label ID="lblQty" runat="server" Text='<%# Eval("QTYOrdered")%>'></asp:Label>
                
            </ItemTemplate>
                 <ItemStyle Width ="20px" />
            <EditItemTemplate>
                <asp:Label ID="lblQty" runat="server" Text='<%# Eval("QTYOrdered")%>' Visible ="false" ></asp:Label>
                <asp:TextBox ID="txtQty2" runat="server" AutoPostBack ="true"  Text='<%# Eval("QTYOrdered")%>' Width ="50px"></asp:TextBox>
                </EditItemTemplate>
                  <ItemStyle HorizontalAlign="Left" Width="20px" Wrap="true" />
        </asp:TemplateField>
<asp:TemplateField>
             <FooterStyle HorizontalAlign="Right" />
                    <FooterTemplate>
                   
                        
                       
                    </FooterTemplate>
                </asp:TemplateField>
            </Columns>
<FooterStyle BackColor ="#dadfff" />
        </asp:GridView>
                       </td></tr>
                                </table> 
                     </asp:Panel> 
 
With the above code i will like Gridview1 data in page1 to sit or replace Gridview1 in page2 Panel1 without Panel1 in page2 moving from its original position.