The simplest could could be to keep the data of the gridviewrow in a session or an application object and access it on the next page.
Or if you transfer execution from the source page to the target page by using the Transfer method, the target page can access public properties in the source page.
ASPX Page(SourcePage.aspx):
<asp:TextBox ID="txtData" runat="server"></asp:TextBox>
<asp:Button ID="btnPublicProperties" runat="server" Text="Public Properties" OnClick="btnPublicProperties_Click" />
Code-Behind:
protected void btnPublicProperties_Click(object sender, EventArgs e)
{
Server.Transfer("Target.aspx");
}
public string PublicData
{
get
{
return txtData.Text;
}
}
Receiver ASPX Page:
On the target Web Forms page, add a @ PreviousPageType page directive that points to the source page.
<%@ PreviousPageType VirtualPath="~/SourcePage.aspx" %>
Label1.Text = PreviousPage.PublicData;