Hi,
You do not need to store Textbox value in Application variable.
PreviousPage.FindControl could be used to minimize code on Default2 page.
Required code on Default3 page.
TextBox1.Text = ((TextBox) PreviousPage.FindControl("txtname")).Text;
but again in above code you need checking for
txtname existance. So, its not always possible to minimize number of lines. but the important thing is the correct behavior then optimization.
Hope this will help you.
Thanks
-Amit.