Upon button click, create a new DataTable (called "dtSelected") with columns to store the data from checked rows of the first data table. Then you have 2 options:
1. Store this "dtSelected" in a session variable, followed by a Response.Redirect to the new page (called "GridViewPage2"), like this
Session["dt"] = dt;
Response.Redirect("GridViewPage2.aspx");
or
2. Store this "dtSelected" in a Context.Item collection then do a Server.Transfer to the new page, like this:
Context.Items.Add("dt", dt);
Server.Transfer("GridViewPage2.aspx");
Next, on the Page_Load of the new page, do something like this:
if (!this.IsPostBack)
{
if (Context.Items["dtSelected"] != null)
{
gvSelected.DataSource = (DataTable)Context.Items["dtSelected"];
gvSelected.DataBind();
}
}
Which option to adopt? Decide for yourself after reading
Difference Between Response.Redirect() and Server.Transfer() Methods in ASP.NET[
^].