RE:URGENTE PASO DE VARIABLES EN WEBFORMS ASP C #
Hola
Existen varias formas de pasar valores entre webforms, puedes crear una clase por ejemplo o puedes crear propiedades en tu webform, deja ponerte estos dos ejemplos para que me entiendas mejor.
En mi ejemplo tengo dos webforms llamados WebForm1.aspx y WebForm2.aspx
el WebForm1.aspx tiene un TextBox1 y un Button1 y el el WebForm2 tien dos Labeles Label1 y Label2 ademas para hacer los dos ejemplos vamos a agregar una clase llamada Persona.cs que tiene una propiedad Nombre ( creo que no debo ponerte el codigo de la clase por que debes conocerlo pero si no dimelo que te lo pongo aqui en otro mensaje ) pues bien en la pagina de codigos del WebForm1 voy a declarar una propiedad para dar el valor del textbox a otra pagina asi:
public string Nombre {
get
{
return TextBox1.Text;} } ( lo pongo en un solo renglon para ahorrar espacio y poder escribir mas.
despues en su evento click del button cuando la persona entre su nombre vas a escribir lo siguiente:
private void Button1_Click(object sender, System.EventArgs e)
{
Persona miNuevaPersona = new Persona();
miNuevaPersona.Name = TextBox1.Text;
Session["MiPersona"] = miNuevaPersona;
Server.Transfer("Webform2.aspx");
}
Lo que he ehcho aqui es solamente pasar el valor a mi clase Persona y de ahi a una variable de session para que la guarde y poderla leer en mi otra pagina esto es para el ejemplo de la clase el ejemplo de la propiedad del webform solo se necesita en esta pagina es crear la propiedad del textbox y enviar la pagina con Server.Transfer ( creo que no es necesario explicarte que hace transfer)
Ahora en la pagina WebForm2 hacemos lo siguiente para leer los valores de la propiedad que le agregamos a el WebForm1 y de la clase:
Primero agregamos una variable publica de tipo WebForm1 enseguida de la decalracion de la clase y donde estan declarados los controles.
public WebForm1 paginaAnterior;
Despues en el evento load de esta misma pagina WebForm2 escribes lo siguiente:
if (!IsPostBack)
{
Persona miPersona = new Persona();
miPersona = (Persona) Session["MiPersona"];
WebForm1 paginaAnterior = (WebForm1) Context.Handler;
Label1.Text = paginaAnterior.Nombre;
Label2.Text = miPersona.Name;
}
Los dos primero renglones de codigo son para recibir el valor de la clase que habiamos guardado en la session el tercer renglon es para recibir el Page.Context del WebForm1 y pasarlo a mi variable paginaAnterior despues llenamos los labeles.
Espero entiendas los dos ejemplos y que te sean de alguna ayuda
Victor Collado