Usa Sessiones:
string MiVariable="Hola"
Session.Add("NombreSession", MiVariable);
Y para obtenerla:
string variable = Session["NombreSession"].ToString();
Para borrar todas las sessiones:
Session.Clear();
Puedes guardar cualquier objeto dentro de una session, desde un string hasta un textbox.
Las sessiones son mas seguras ya que nadie puede acceder a ellas mas que tu, solo tu conoces el nombre de la session, el inconveniente es que consume mas memoria (pero pues ni que fuera tanta) y funciona bien cuando se trabaja con muchas paginas y deseas mantener los valores (como en los carros de compras), si solo deceas enviar a la pagina siguiente puedes ocupar otro metodo:
primero en la pagina1 poner este atributo:
public string NombreRegistro //este es un ejemplo
{
get
{
return Label1.Text; //donde regreso el valor de la etiqueta
}
}
Y poner un boton donde en su propiedad PostBackUrl se pone la pagina2. Nota: El evento click del boton no se ejecutara, funciona como si fuera un submit.
En la pagina 2 poner lo siguiente para establer la pagina anterior.
<%@ PreviousPageType VirtualPath="Pagina1.aspx"%>
Y ahora si, en el evento load de la pagina2 puedes poner lo siguiente:
if (PreviousPage != null)
{
Label1.Text = "Nombre = " + PreviousPage.NombreRegistro;
}
Pero solo funciona cuando la pagina2 proviene de la pagina1, de no ser asi PreviousPage va a ser igual a null. Saludos y bienvenido, próximamente abriré la sección de ASP.NET