Those controls should be views on some model data in the user space (generally that means in the session for web apps). Simply putting the DataTable into the session as Murali suggests is the simplest kind of 'model', and perfectly fine for a grid (an alternative might be a List<T> if the grid represents a series of rows).
Your grid control should expose a property similar to DataSource – to which you can assign an entire data source, or from which you can read it back. (Your question isn't clear as to whether this is a custom grid control.) Then, when you receive a postback, store the results of this page in the session:
class Page1State {
public DataTable table;
public string Name, Email;
}
...
private void OnSubmit(object sender, EventArgs e){
Page1State state = new Page1State();
state.table = gridView1.DataSource as DataTable;
state.Name = nameTextBox.Text;
state.Email = emailTextBox.Text;
Session["FirstPageState"] = state;
}
private void OnPageLoadobject sender, EventArgs e){
Page1State state = Session["FirstPageState"] as Page1State;
if(null != state){
gridView1.DataSource = state.table;
}
}