You'll need to persist that data somewhere. The way Response.Redirect works is by telling the client (the web browser) to make a new request for the specified resource. This essentially means that the old resource is abandoned. Think of each request made by the client as unique and stand-alone.
An easy way to persist the values is to store them in Session state on Page1 just before calling Response.Redirect. Then, in Page2 you can retrieve those values from Session state.
Something like:
Page1
//...
Session["SomeValue"] = TextBox1.Text;
Session["SomeOtherValue"] = DropDownList1.SelectedIndex;
//...
Response.Redirect("Page2.aspx");
Page2
//...
// Note: The following can have some additional type checking and input/value checking added
var someValue = Session["SomeValue"];
var someOtherValue = Session["SomeOtherValue"];
//...