Pasando variables entre paginas web ASP.NET usando Cross Page Postback

Existen varias formas de pasar variables entre formularios web, como por ejemplo haciendo uso de la URL, o usando sesiones. Cada una de estas caracteristicas tiene sus ventajaa y desventajas.

Ahora que nueva característica trajo ASP.NET 2.0?, Cross Page Postback. Pero que hace esta característica, veamos el siguiente gráfico y después damos una breve explicación [URL01]:

Antes con ASP.NET 1.X, solo se podía hacer PostBack a la misma página, es decir cuando pulsaba cualquier botón esta se dirigía hacia si misma, ahora en ASP.NET 2.0, se puede hacer Cross Page Postback, es decir ya no limitar que mi página solo pueda ser enviada a si misma, sino que puedo enviar el contenido a cualquier otra página. Las aplicaciones que se le puede dar a esta característica son varias, veamos algunas de sus ventajas:

  • Todo la información de la página actual estará disponible en la página destino.
  • Permite que la página destino acceda a las propiedades públicas de la página origen.
  • Debido a las ventajas anteriores, permite el paso de variables entre páginas.

Pero manos a la obra, como hacemos esto?, pues aquí uno de los escenarios en los cuáles se podría aplicar. Se trata de un formulario de confirmación de registro, para esto necesitamos el nombre, y los datos ingresados en la página origen, para asi mostrarla en la página destino:

Página Origen (wf_registro.aspx):

Página Destino (wf_confirmacion.aspx):

Ahora cuáles son los pasos para lograr esto?:

  • En la página wf_registro.aspx y en el botón de envio btnEnviar, modificamos la siguiente propiedad PostBackUrl (en la ventana de propiedades o desde la vista source de la página):

PostBackUrl="~/wf_confirmacion.aspx"

="~/wf_confirmacion.aspx"
  • Ahora en el evento Load de la página wf_confirmacion.aspx, agregamos el siguiente código [Cod01]:

protected void Page_Load(object sender, EventArgs e)
{
 
string nombre;
 
  TextBox
txtNombre = 
     
(
TextBox)Page.PreviousPage.FindControl("txtNombre");

nombre = txtNombre.Text;

lblConfirmacion.Text = 
  
string.Format("{0} gracias por ingresar su informacion <br/>" +
               
"USTED HA SIDO REGISTRADO", nombre);
}

protected void Page_Load(object sender, EventArgs e)
{
 
string nombre;
 
  TextBox
txtNombre = 
     
(
TextBox)Page.PreviousPage.FindControl("txtNombre");

nombre = txtNombre.Text;

lblConfirmacion.Text = 
  
string.Format("{0} gracias por ingresar su informacion <br/>" +
               
"USTED HA SIDO REGISTRADO", nombre);
}
  • Corremos y todo OK, pero creen que ahí queda todo? , pues esta funcionando, pero hay que agregar algunas validaciones.
  • Qué pasaría si accedemos directamente a wf_confirmacion.aspx, pues que daría un error, para evitar esto agregamos nuestro [Cod01], el que esta dentro del load, y lo ponemos dentro de este if:

if (Page.PreviousPage != null)
{ ... }

if (Page.PreviousPage != null)
{ ... }

Ahora como podemos mejorar el acceso a la página origen?, si bien el método FindControl es útil, puede no darte precisión al colocar mal el nombre. Para evitar estos incovenientes podemos hacer uso de Propiedades Públicas. Nota: Tratar de colocar solo la información necesaria en variables públicas, para reducir la cantidad de información disponible para usuarios potencialmente malintencionados .

  • Para poder acceder a las propiedades de la página origen se debe establecer una referencia "strongly type" a ella. Hay dos formas de hacerlo [URL04], pero nosotros vamos a hacer uso de la directiva @PreviousPageType, para nuestro cometido, y agregamos el siguiente código a nuestra página wf_confirmacion.aspx:

<%@ PreviousPageType VirtualPath="~/wf_registro.aspx" %>

@ PreviousPageType VirtualPath="~/wf_registro.aspx" %>
  • Agregamos la siguiente propiedad a nuestra clase wf_registro.aspx.cs:

public string NombreRegistro {
 
get {
    
return txtNombre.Text;
 
}
}

public string NombreRegistro {
 
get {
    
return txtNombre.Text;
 
}
}
  • Ahora el nuevo Load de la página wf_confirmacion.aspx, quedaría así:

protected void Page_Load(object sender, EventArgs e)
{
 
if (Page.PreviousPage != null)
 
{
   
string nombre =
     
PreviousPage.NombreRegistro;

    lblConfirmacion.Text =
     
string.Format("{0} gracias por registrarse <br/>" +
                  
"USTED HA SIDO REGISTRADO", nombre);
 
}
}

protected void Page_Load(object sender, EventArgs e)
{
 
if (Page.PreviousPage != null)
 
{
   
string nombre =
     
PreviousPage.NombreRegistro;

    lblConfirmacion.Text =
     
string.Format("{0} gracias por registrarse <br/>" +
                  
"USTED HA SIDO REGISTRADO", nombre);
 
}
}
  • Se nota la diferencia .

Ahora qué sucede si es que yo voy a llamar al página de confirmación de diversas páginas?, es decir no quiero atar la propiedad pública a una página. Pues para eso haremos uso del patrón adapter [URL03]:

  • Agregaremos esta interface a la carpeta App_Code:

using System;

public interface IRegistroForm
{
 
string NombreRegistro
 
get}
}

System;

public interface IRegistroForm
{
 
string NombreRegistro
 
get}
}
  • Ahora hacemos que nuestra clase wf_Registro implemente a IRegistreForm, además de heredar de System.Web.UI.Page:

wf_registro : System.Web.UI.Page, IRegistroForm

: System.Web.UI.Page, IRegistroForm
  • Ahora podemos remover la directiva @PreviousPageType, de la página wf_confirmacion.aspx, y actualizamos el código dentro de nuestro Load:

protected void Page_Load(object sender, EventArgs e)
{
 
if (Page.PreviousPage != null)
 
{
   
IRegistroForm form = PreviousPage as IRegistroForm;

    
if (form != null)
   
{
     
string nombre =
            
form.NombreRegistro;

     
lblConfirmacion.Text =
         
string.Format("{0} gracias por registrarse <br/>" +
                     
"USTED HA SIDO REGISTRADO", nombre);
   
}
 
}
}

protected void Page_Load(object sender, EventArgs e)
{
 
if (Page.PreviousPage != null)
 
{
   
IRegistroForm form = PreviousPage as IRegistroForm;

    
if (form != null)
   
{
     
string nombre =
            
form.NombreRegistro;

     
lblConfirmacion.Text =
         
string.Format("{0} gracias por registrarse <br/>" +
                     
"USTED HA SIDO REGISTRADO", nombre);
   
}
 
}
}

Espero que haya quedado claro el post/artículo, si tienen alguna pregunta, o algo que agregar, me dejan un comentario. En nuestro último código deberíamos hacer uso de la propiedad PreviousPage.IsCrossPagePostBack y de PreviousPage.IsValid, para una mejor validación, en las referencias de abajo podremos encontrar más detalles sobre estas propiedad, queda como tarea .

P.D.: Adjunto el archivo del post/artículo.

Referencias:

  • [URL01]: Secretos internos de ASP.NET - <link>
  • [URL02]: Redirigir a los usuarios a otra página - <link>
  • [URL03]: Design Considerations for Cross Page Post Backs in ASP.NET 2.0 - <link>
  • [URL04]: Envío entre páginas en las páginas Web ASP.NET - <link>

Saludos,


Post cruzado desde starrillo blog
Published 25/9/2006 4:41 por Sergio Tarrillo
Archivado en:
Comparte este post:
http://geeks.ms/blogs/sergiotarrillo/archive/2006/09/25/3803.aspx

Comentarios

# re: Pasando variables entre paginas web ASP.NET usando Cross Page Postback

Esta muy bien pero si el tag <form></form>

se define en una "master.page" No funciona, no es capad de encontrar los textbox

Tuesday, November 21, 2006 4:56 PM por jj

# re: Pasando variables entre paginas web ASP.NET usando Cross Page Postback

Holas!

Me puedes enviar más detallado tu escenario?, quieres decir que has definido algo dentro de un textbox en un master.page?, y quieres recuperar eso?

Comento tu escenario (caso), y que solución le has estado dando.

Saludos,

Tuesday, November 21, 2006 6:44 PM por Sergio Tarrillo

# re: Pasando variables entre paginas web ASP.NET usando Cross Page Postback

Puedo Abrir la otra pagina la que se define el PostBackUrl ("~/wf_confirmacion.aspx") en otra ventana ?

Tuesday, December 5, 2006 9:19 PM por Victoria

# re: Pasando variables entre paginas web ASP.NET usando Cross Page Postback

Hago todo lo que comentas pero, aún así, me da el siguiente error:

Compiler Error Message: CS0103: The name 'CodInstalador' does not exist in the current context

Source Error:

Line 19:         get

Line 20:         {

Line 21:             return CodInstalador.Text;

Line 22:         }

Line 23:     }

donde CodInstalador corresponde al Id del TextBox para la inserción de un código.

¿Sabes dónde estaría el problema?

Tuesday, December 19, 2006 10:11 AM por Thanys

# re: Pasando variables entre paginas web ASP.NET usando Cross Page Postback

Hola Victoria!

Para abrir en una nueva pagina sólo tienes que agregar un atributo a la definición del control:

<asp:Button ID="btnEnviar" runat="server" OnClientClick="form1.target='_blank'" PostBackUrl="~/wf_confirmacion.aspx" Text="Enviar" />

En este blog encontrarás otras opciones: http://aspadvice.com/blogs/joteke/archive/2006/11/30/Cross_2D00_page-postbacks-and-form-action.aspx.

Thanys, trata de revisar que hayas hecho todos los pasos, y compilar. Me avisas...

Saludos,

Friday, December 22, 2006 3:36 PM por Sergio Tarrillo

# evento reload en asp.net

en mi pagina tengo el siguiente problema, tengo un frame de jerarquia anidada, en los cuales los 2 extremos ejecutan un reload al marco principal, este evento me provoca un mensaje que dice lo sigt:

"para mostrar de nuevo esta pagina web,el Internet Explorer tiene que volver a enviar la informacion que ya envio anteriormente. Si estuviera realizando una compra haga click en cancelar para evitar que la transaccion se realice dos veces, de otra forma haga click en reintentar para volver a mostrar la pagina web"

lo que quiero es obligarlo a pasar por el load del webform principal de nuevo para que detecte un cambio que realiza a una variable desde los otros webforms, el reload lo logra pero me muestra el mensaje. Como puedo eliminar el mensaje.

Tuesday, February 6, 2007 9:20 PM por geovanna vargas

# re: Pasando variables entre paginas web ASP.NET usando Cross Page Postback

Holas Geovanna!

Yo aún no tenido la oportunidad de trabajar con frames y ASP.NET :(, o bueno, no ha surgido la necesidad. Si puedes enviar un esquema de como estan tus frames?, o si me puedes enviar la página con las aspx, en un zip a starrillo@msJovenes.com, para revisarlo y ver como te puedo ayudar.

Has revisado este artículo: Working with Frames in .NET - <http://www.15seconds.com/issue/030528.htm>.

Saludos,

Friday, February 16, 2007 7:28 PM por Sergio Tarrillo

# re: Pasando variables entre paginas web ASP.NET usando Cross Page Postback

A mi me pasa como a jj. Tengo una plantilla donde hay un frame. El caso es que yo si recupero los valores (Page.PreviousPage.Form.FindControl("form1")... y así anidado)pero siempre recupero los mismos, es decir, si cambio el valor del textbox no me da el valor modificado sino el que tenia antes de modificar.

Friday, March 30, 2007 2:04 PM por Jose

# re: Pasando variables entre paginas web ASP.NET usando Cross Page Postback

habría que depurar y ver que esta pasando, puedes habilitar Trace en tus páginas...

Saludos,

Wednesday, April 25, 2007 5:59 AM por Sergio Tarrillo

# re: Pasando variables entre paginas web ASP.NET usando Cross Page Postback

bueno mi duda es la siguiente, tengo una pagina a la cual la informacion q desplega es alimentada por otras 3 paginas (q son llamadas desde la principal, en escencia son 3 paginas de busquedas q me devuelven codigo a la página principal). Estoy utilizando crosspage la cosa es q cuando quiero agregar tres líneas de lossiguiente:

<%@ PreviousPageType VirtualPath="~/wf_registro.aspx" %>

solo agarra la primera y las otras 2 no. Quisiera saver como le tengo q hacer para q sirva???

Tuesday, May 29, 2007 11:01 PM por duda

# re: Pasando variables entre paginas web ASP.NET usando Cross Page Postback

mesirvio el codigo del comienso de este foro, pero no me no puedo hacer eso para varias wb en cadena porque¿?

Tuesday, June 19, 2007 6:22 PM por Felipe

# re: Pasando variables entre paginas web ASP.NET usando Cross Page Postback

El problema que tengo en mi página de destino es que cuando rescato los valores con PreviousPage.propiedad no funciona ajax en el primer postback de la página, alguien sabe porqué ese problema?

Thursday, June 28, 2007 6:01 PM por claudio

# re: Pasando variables entre paginas web ASP.NET usando Cross Page Postback

al usar Cross Page Postback quiero que me despliegue una masterpage en caso de que los datos de registro sean válidos, y en caso contrario regresar a la pagina de Registro, cómo puedo hacerlo ??? La primera parte ya la tengo hecha, sólo me falta regresar a la página de rEgistro en caso de que los datos no sean validos. la validez de los datos los checo en una DB.

Wednesday, August 15, 2007 7:07 PM por mary

# re: Pasando variables entre paginas web ASP.NET usando Cross Page Postback

Buen dia primeramente buen tema

estoy empezando a usar ASP.NET y tengo varias dudas con respecto a la migracion de mi web de asp a .net

espero me puedan ayudar con esta duda

Como puedo realizar en VWD2005 lo siguiente:

--como enlazar combobox o listas con bases de datos,

--una vez enlazado el primer combo este llamado empresa quiero crear otro llamado sucursal, que dependiendo de la empresa presentara un gpo de sucursales ,

--nuevamente ya seleccionanado la empresa y sucursal este tiene otro enlace dependiente llamado producto, otro mas llamado periodo depende directamente de la empresa seleccionada. y uno ultimo llamado tipo de estadistica donde depende de la sucursal seleccionada

pero ahi no acaba todo,al seleccionar la empresa x esta muestra una lista de suscursales donde la ultima seleccion es todos las sucusales al realizar el posback ademas de llebarse los datos a otra esta pregustara si selecciono alguna de las sucursales se dirija a una pagina1.aspx , pero si la opcion selccionada es Todas las sucursales esta se ira con los datos seleccionados a pagina2.aspx

espero alguien me pueda orientar Gracias

Sunday, September 23, 2007 11:06 AM por rafael mendoza

# re: Pasando variables entre paginas web ASP.NET usando Cross Page Postback

Hola..muy buena la página...soy nuevo en esto de las tecnologías .net

estoy usando Cross posting para pasar variables de una página a otra y me ha funcionado pero la duda es si puedo pasar esas variables a lo largo de todo el proyecto, es decir las variables accesibles desde cualquier página. Este es el código que estoy usando...GRACIAS !!!!!!!!

//PARA RESCATAR DATOS DE LA PÁG ANTERIOR

        //PREGUNTA SI LA PAG QUE SE HA LLAMADO HA USADO CROSS POSTING

       if (Page.PreviousPage != null && Page.PreviousPage.IsCrossPagePostBack)

       {

           // BUSCA EL TEXTO INGRESADO EN LA PÁG ANTERIOR

           TextBox tx_rut = (TextBox)Page.PreviousPage.FindControl("tx_rut");

           TextBox tx_nombre = (TextBox)Page.PreviousPage.FindControl("tx_nombre");

           lb_rut.Text = tx_rut.Text;

           // EN CASO DE QUE EL USUARIO NO HAYA INGRESADO NOMBRE EN EL INDEX

           if (tx_nombre == null)

           {

               lb_nombre.Text = "";

           }

           else

           {

               lb_nombre.Text = tx_nombre.Text;

           }

       }

Thursday, September 27, 2007 5:39 AM por rommel oyanguren

# re: Pasando variables entre paginas web ASP.NET usando Cross Page Postback

todo bien hasta que en la pagina destino ahgrege un txtbox para pasar la información del label y del txtbox a otra pagina llamada destino2 la que debiera presentar tres label con los datos que anteriores, lo ejecute y me reclama un error de referencia de objeto, alomejor debe ser por el txtbox que puse, sabes como solucionar esto???...

Thursday, October 4, 2007 8:12 PM por Elvis

# re: Pasando variables entre paginas web ASP.NET usando Cross Page Postback

Hi duda!

Sólo podemos agregar una directiva: <%@ PreviousPageType VirtualPath="~/wf_registro.aspx" %>. Ya que en el intellsense, sólo tenemos una propiedad Page.PreviusPage, es por eso que no la puedes usar para las otras páginas. Pero si puedes hacer que varias páginas redireccionen a tu página principal, pero sólo puedes tener una página a la cual puedas acceder con intellsense usando PreviousPageType.

P.D.: Cuando envién dudas, envién sus escenarios, así se puede dar un poco más de ayuda sabiendo que desean hacer, y no sólo con la pregunta técnica.

Saludos,

Friday, November 9, 2007 8:27 PM por Sergio Tarrillo

# re: Pasando variables entre paginas web ASP.NET usando Cross Page Postback

Excelente articulo, era lo q estaba buscando ya un par de dias.

Wednesday, January 23, 2008 7:50 PM por Luis Leyva

# re: Pasando variables entre paginas web ASP.NET usando Cross Page Postback

El post me parece muy interesante.

Alguien pregunto sobre como enlazar dropdownlist a una bdd.

Primera Clase q Establece la Conexion a ala BDD

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Web.UI.HtmlControls;

using System.Data.SqlClient;

/// <summary>

/// Summary description for GenericDao

/// </summary>

public class GenericDao

{

   public static string connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["QryConexion"].ConnectionString.ToString();

   /// <summary>

   /// Retorna Un DataTable

   /// </summary>

   /// <param name="query"></param>

   /// <returns></returns>

   public static DataTable getDataTable(string query)

   {

       SqlDataAdapter adapter = new SqlDataAdapter(query, connectionString);

       DataSet ds = new DataSet();

       adapter.Fill(ds);

       return ds.Tables[0];

   }

   public static void executeNonQuery(string query)

   {

       SqlConnection conn = new SqlConnection(connectionString);

       conn.Open();

       try

       {

           SqlCommand cmd = new SqlCommand(query, conn);

           cmd.ExecuteNonQuery();

       }

       catch (Exception e)

       {

           HttpContext.Current.Trace.Warn(e.Message + "Problemas Generic" + query.ToString());

       }

   }

}

/////////////////////Segunda Clase q Accede a la informcion y retorna un Datatable.

using System;

using System.Data;

using System.Configuration;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Web.UI.HtmlControls;

/// <summary>

/// Clase Catalogos Hereda de GenericDao

/// </summary>

public class Catalogos : GenericDao

{

/// <summary>

/// Busca de el Catalogo de Usuarios para Agregar al DropdownList

/// </summary>

/// <returns></returns>

   public DataTable BuscaGrupos_x_Usuario()

   {

       string query = " select id_usuario,nomsubdirector from dbo.FCT_USUARIO union  select '-1','--- Selecciona ---' from dbo.FCT_USUARIO";

       return getDataTable(query);

   }

}

////Del lado de la paguina es sencillo

void CargaCatalogos()

   {

       Catalogos Usuario = new Catalogos();

       ddlUsuario.DataSource = Usuario.BuscaGrupos_x_Usuario();

       ddlUsuario.DataValueField = "id_usuario";

       ddlUsuario.DataTextField = "nomsubdirector";

       ddlUsuario.DataBind();

}

Se ejecuta la llamada a este metodo y listo se carga tu dropdownlist

Thursday, January 31, 2008 1:35 AM por Vicente Garcia Zuñiga

# re: Pasando variables entre paginas web ASP.NET usando Cross Page Postback

excelente articulo, felicitaciones, que envidia no tener el mismo dominio que tu, pero estoy recien empezando en esto y me ha servido mucho tu articulo

gracias de verdad

nada que decir

adios

Thursday, February 7, 2008 2:36 PM por omar

# re: Pasando variables entre paginas web ASP.NET usando Cross Page Postback

Buenas,

Yo he hecho un pagina que direcciona otra con este codigo  

<asp:ImageButton ID="Bemail" runat="server" ImageUrl="~/imagenes/email.gif" PostBackUrl = "~/sendMail.aspx"    ToolTip="E-mail al profesor"/>

de esta forma iba bien pero deseaba que se me abriera en nueva entonces añadí onclientclick

<asp:ImageButton ID="Bemail" runat="server" ImageUrl="~/imagenes/email.gif" OnClientClick="form1.target='_blank'"   PostBackUrl = "~/sendMail.aspx"    ToolTip="E-mail al profesor"/>

Y ya no funciona nada, ¿alguien sabe por que ?

Monday, February 11, 2008 8:05 PM por Dudas con OnClientClick="form1.target='_blank'"

# re: Pasando variables entre paginas web ASP.NET usando Cross Page Postback

Hola Felipe!

En cadena te refieres a que quieres recuperar en la tercera página los valores de la primera página?. De manera normal no creo que se pueda, lo que puedes hacer es almacenar los valores que quieres recuperar en la tercera página, en la segunda usando controles HiddenField. Igual creo que es mucho flujo ya tres páginas seguidas. La página también se recarga.

Recuerda que siempre puedes traer los valores de la base de datos. Digamos que en la página 01, insertar a la BD un registro. En la tercera podrías recuperar el registro, solamente conociendo el Id del registro insertado en la página 01.

Saludos,

Monday, March 3, 2008 3:44 PM por Sergio Tarrillo

# re: Pasando variables entre paginas web ASP.NET usando Cross Page Postback

Claudio, que framework de AJAX estás usando?, que especificamente no funciona?, no debería pasar esto...

A ver Mary, si estas en la página de registro, y los datos no son válidos, no deberías salir de la página de registro. Recuerda que puedes agregar controles de validación en la página.

Rafael, tu pregunta escapa al tema del post, pero lo que buscas es combos anidados, debe haber ejemplos en google :).

Saludos,

Monday, March 3, 2008 4:11 PM por Sergio Tarrillo

# re: Pasando variables entre paginas web ASP.NET usando Cross Page Postback

no me gusto tu tutorial...

Wednesday, May 28, 2008 7:55 PM por ANGEL

# re: Pasando variables entre paginas web ASP.NET usando Cross Page Postback

Me parece muy buen tema y muy buena tu solucion, pero quisiera ver si me puedes ayudar tengo un problema con la propiedad PostBackUrl de ASP Net 2.0. Hice mi aplicacion sencilla que tiene dos paginas aspx la pagina origen tiene un boton con la propiedad PostBackUrl asignada a la pagina de destino, ya la corri en mi maquina que tiene un ambiente de desarrollo instalado, VS .Net 2005 y funciona bien.

Pero llego la desilusion la publique en un servidor IIE y no funciona el PostBackUrl le doy click al boton y solo se queda ahi sin hacer nada aparentemente solo recarga la pagina de origen y no hace el cambio a la pagina destino.

Gracias por tu ayuda

Tuesday, June 3, 2008 1:23 AM por Alfonso

# re: Pasando variables entre paginas web ASP.NET usando Cross Page Postback

en mi necesidad por crear un filtro para reportes (muy grande porcierto).. decidi abrir la ventana del reporte en una nueva ventana

(para no tener que capturar todo el filtro cada vez que generara un reporte)

por lo cual use cross page postback dejando asi mi boton de submit

<asp:Button ID="Button2" runat="server" PostBackUrl="Reportes_Plantilla.aspx" Text="Mostrar Reporte"  OnClientClick="window.document.forms[0].target='_blank';" />

todo estaba perfectamente hasta que tube la necesidad de incluir otros controles en el filtro que hacian postback como el calendario... ahora cada vez que selecciono una fecha me habre la vetana del reporte.. necesito que solo el boton abra la nueva ventana con el reporte alguien sabe como hacerlo? les agradeceria mucho su ayuda mi correo es alejandronm@live.com.mx

Wednesday, June 4, 2008 10:00 PM por Alejandro

# re: Pasando variables entre paginas web ASP.NET usando Cross Page Postback

Alejandro,me pasa lo mismo que a ti,una vez que vuelvo de la pagina apuntada en el postbackurl cualquier evento que lanze un postback me vuelve a  mandar a la direccion del postbackurl....

Si alguien sabe que esta ocurriendo le agradeceria mucho su ayuda.

Un saludo.

Tuesday, June 10, 2008 9:28 AM por edu

# re: Pasando variables entre paginas web ASP.NET usando Cross Page Postback

alguien me puede ayudar ... es una declaracion de variable que no se como se hace ...

miren tengo una declaracion de variable afuera de las funciones...

<script runat="server">

   String  a;

asi comienzo, pero luego dentro de una funcion alteroo el valor de estas varables, y en otra funcion necesito saber que valor fue el q cambio,

por ejemplo despues tengo:

protected void  modifica(object sender, EventArgs e)

{

  a="PASA POR FUNCION1";

}

protected void  modifica2(object sender, EventArgs e)

{

  a="PASA POR FUNCION2";

}

protected void  ver(object sender, EventArgs e)

{

  Response.Write("LA a PASO AL FINAL POR " + a);

}

ojala se entienda mi  idea y me puedan ayudar

Muchas gracias!

Saturday, July 12, 2008 7:33 PM por VitonX

# re: Pasando variables entre paginas web ASP.NET usando Cross Page Postback

Bueno Developer si ud., esta utilizando Master Page y esta manejando el findControl, desde luego que no lo va encontrar porque ya no trabaja con el nombre del asp sino html. Osea si ID='content$place$holder$texbox1'

Saturday, August 9, 2008 11:36 PM por FranzDev

# re: Pasando variables entre paginas web ASP.NET usando Cross Page Postback

Muy buen articulo me ha sido de gran ayuda... sin embargo me queda una duda, no he podido hacer el cross page postback utilizando la interface:

Imports System

Public Interface MyInterface

   Property strText1() As String

   Property strText2() As String    

End Interface

la implemento en la pagina de la cual quiero postear sus valores, pero cuando los quiero leer en la siguiente, las propiedades traen valor Nothing, en esta segunda pagina tengo este codigo:

Dim PaginaAnterior As MyInterface

If Not Page.PreviousPage Is Nothing Then

PaginaAnterior = TryCast (Page.PreviousPage,MyInterface)

Me.Label1.Text = PaginaAnterior.strText1

Me.Label2.Text = PaginaAnterior.strText2

End If

Alguien podria podria decir si estoy haciendo algo mal? o algo que me haga falta?... de antemano muchas gracias por su ayuda.

Thursday, August 14, 2008 5:36 PM por Lucas

# re: Pasando variables entre paginas web ASP.NET usando Cross Page Postback

@rommel, si quieres hacer variables disponibles esta es la mejor opción para usar. Puedes usar el web.config para esto, dependiendo del tipo de variable, por ejemplo si es por usuario puedes variables de Session, o usar Profiles.

@Elvis, siempre hay que verificar bien los nombres. Y hacer comparaciones txtControl != null, para no tener este problema.

@Vicente Garcia Zuñiga, Gracias. Aunque sería más fácil si usamos ObjectdataSource, pero ese es otro tema.

@omar, con la práctica podemos dominar cualquier tema que queramos.

@lunes, 11 de febrero de 2008 14:05, es muy extranio que eso suceda. Pero podría ser si tienes otros script en tu página, depende del error que muestra

@ANGEL, gracias por tus comentarios, pero si puedes a la próxima poner por que no te gusto, sería excelente.

@Alfonso, verifica que la versión de ASP.NEt en IIS sea ASP.NEt 2.0.

@Alejandro, la mejor solución sería usar QueryString para pasar variables, no te compliques.

@edu, si tu escenario es el mismo que Alejandro, la misma respuesta, no se compliquen, usar QueryString para pasar variables no es malo.

@VitonX, me parece que te estás complicando con el tema de funciones, revisa la carpeta App_Code de ASp.NET.

@FranzDev, gracias por la puntualización.

@Lucas, tu página source debería implementar la interface

@Guevara ernesto, te pasaste con el Off-Topic...

Saludos,

Saturday, October 18, 2008 1:43 AM por Sergio Tarrillo

# re: Pasando variables entre paginas web ASP.NET usando Cross Page Postback

Un Fvaor

en un formulario de rutas.aspx

tengo un boton que llama a un popup(origen.aspx) donde de enuentra dos cascadas uno de deparatmentos y otra de provincia y un boton en el cual al hacer click envia solo la provincia o cualquie texto al webform ruta.aspx si tener que redireccionar poqr eso vuelva abrir la pagina en otra vetana

gracias por su respuesta MR. Sergio

Monday, October 27, 2008 6:11 PM por Jorge

# re: Pasando variables entre paginas web ASP.NET usando Cross Page Postback

Gracias fue de utilidad

Thursday, April 2, 2009 9:25 PM por Elmer Vargas

# re: Pasando variables entre paginas web ASP.NET usando Cross Page Postback

Muy bueno el articulo, me ha funcionado y me funciona a la perfección pero como ejemplo de prueba, comento esto por que actualmente estoy trabajando con Master Page y no me funciona todo lo diseñado esta con Master Page y me estoy arrepintiendo por que hay varias cosas que no puedo hacer con en este caso pasar variables alguien podria ayudarme como hacer lo mismo pero con Master Pege, otra pregunta como funcionaria con ventanas emergentes en el cual activando la ventana emergente como ayuda pueda devolver valores a la ventana que lo envio: clickear en un boton de la pagina principal, activar ventana con una lista de articulos y seleccionar un articulo de la ventana emergente y devolverlo a la ventana principal. Ojala entiendan lo que necesito, est demas decir que recien enpieso con esto, derepente para unos estos es comun pero para mi estodo una odicea.  Gracias ante todo.

Saturday, June 6, 2009 6:42 PM por Ricardo

# re: Pasando variables entre paginas web ASP.NET usando Cross Page Postback

Estoy implementando el modelo de pasar información entre páginas web por medio de una interfase.

El problema esta en el momento de implementar la interfase en la ventana origen para usar las propiedades. Al tratar de ejecutar me presenta el siguiente error:

Error 1 Sólo se pueden utilizar las expresiones de objeto assignment, call, increment, decrement y new como instrucción

Espero me pudan orientar. Gracias

Thursday, June 11, 2009 1:57 AM por Fernando

# re: Pasando variables entre paginas web ASP.NET usando Cross Page Postback

Muy bueno el tutorial, voy a probar como funciona. Gracias

Thursday, July 16, 2009 12:12 AM por Damian

# re: Pasando variables entre paginas web ASP.NET usando Cross Page Postback

Cuando recupero los valores en la pagina destino, la url, sigue diciendo que estoy en la pagina anterior aunque el contenido si es el de la pagina destino porque???

Wednesday, April 14, 2010 8:21 PM por Carlos Rivera

# re: Pasando variables entre paginas web ASP.NET usando Cross Page Postback

estoy pasando por codigo una variable de session por la url:

lbCodigo.PostBackUrl = "cssmaTodosPeligros.aspx?codObra=" + codObra;

lo que me quiero es que el destino se abra en una pagina diferente, se que debo usar "_target", pero no he podido conseguirlo, me pueden ayudar pleaseeeeee!!!

Monday, May 3, 2010 11:46 PM por gabriela

# re: Pasando variables entre paginas web ASP.NET usando Cross Page Postback

DISCULPEN SOY NUEVO EN ESTO PERO TENGO UNA DUDA COMO SE PUEDE SUBIE LOS DATOS DE UN DATALIST A UNAS CAJAS DE TEXTO ES QUE LLA INTENTE D TODO PERO NO ME FUNCIONAN?????????? PORFA NESESITO UNA RESPUESTA C LOS AGRADESERIA

Saturday, June 19, 2010 7:03 PM por JOSE

# re: Pasando variables entre paginas web ASP.NET usando Cross Page Postback

hola alguien me podría auxiliar tengo este código hecho en C# q sirve para descargar un archivo ptt desd una carpeta que tengo guardada en esta ruta de mi disco C:\inetpub\wwwroot i ahora deseo que desde una aplicacion web y al dar click en el link se pueda descargar el archivo deseado como debo poner el enlace en mi aplicación me urge

using System.Web.Caching;

//using System.Xml.Linq;

using System.Diagnostics;

using System.Web.Security;

using System.IO;

using System.Text;

using Microsoft.VisualBasic;

using System.Web.UI.HtmlControls;

using System.Web.SessionState;

using System.Text.RegularExpressions;

using System.Web.Profile;

using System.Web.UI.WebControls.WebParts;

using System.Collections.Specialized;

using Microsoft;

using Microsoft.CSharp;

using System.CodeDom.Compiler;

using System.Net;

public partial class Descargar : System.Web.UI.Page

{

protected void Page_Load(object sender, EventArgs e)

   {

string path = Server.MapPath("SERGIO.pptx");

       System.IO.FileInfo file = new System.IO.FileInfo(path); //-- if the file exists on the server  

       if (file.Exists) //set appropriate headers  

       {

// write file to browser

           Response.WriteFile(file.FullName);

           Response.End();

       }

       else

       {

           // if file does not exist

           Response.Write("This file does not exist.");

       }

}

   }

Friday, July 2, 2010 10:59 PM por laur@

# re: Pasando variables entre paginas web ASP.NET usando Cross Page Postback

Si la página origen xx.aspx tiene una master page. dentro de xx.aspx.cs y tengo un método público DeveolverValor, quisiera saber cómo hacer para acceder a ese método desde la página a la cual se enlaza el Postbacks? A los contenedores puedo acceder con el siguiente código, pero a los métodos no puedo acceder. De qué forma puedo acceder?

Código:

Control placeHolder =

               (ContentPlaceHolder)Page.PreviousPage.Controls[0].FindControl("ContentPlaceHolder1");

           TextBox SourceTextBox =

               (TextBox)placeHolder.FindControl("caja1");

Muchas gracias. Muy bueno tu artículo.

Thursday, July 29, 2010 5:16 AM por josek2

# re: Pasando variables entre paginas web ASP.NET usando Cross Page Postback

Excelente! me funcionó al 100 !

Wednesday, October 20, 2010 7:43 AM por Almita

# re: Pasando variables entre paginas web ASP.NET usando Cross Page Postback

Hola.... Antes que nada agradezco que compartas tus conocimientos con quienes queremos aprender. Tengo la siguiente duda.

Cuando utilizas esta forma de pasar data de una pagina a otra la carga de traspasar la data representa un inpacto en el servidor o en el usuario.

Wednesday, October 27, 2010 5:45 PM por Cesar

# re: Pasando variables entre paginas web ASP.NET usando Cross Page Postback

esta super fresa, gracias me ayudi de mucho

Wednesday, December 15, 2010 4:03 PM por jose

# natwest internet banking

Gypuesoeeshyhch   [url=natwestonlinebanking.reviewsz.net]natwest internet banking[/url] palghmmas  itncpmaaunbv  [url=cibconlinebanking.reviewsz.net]cibc bank online[/url]  ikmigbincolloopj   rbfeaesrritas  [url=bmoonlinebanking.reviewsz.net]bmo online banking[/url]  iTebbuinuebss

Saturday, January 15, 2011 7:17 AM por GangubygobBob

# QBpArMhlDo

Tuesday, March 1, 2011 7:03 PM por Neontenry

# XugFXkRhtD

belarusto devnet.jetbrains.net/.../297509 tubegalore, vmware devnet.jetbrains.net/.../297511 longestlist, almeida devnet.jetbrains.net/.../297512 reality kings, transport devnet.jetbrains.net/.../297516 creampie thais, levelecuador devnet.jetbrains.net/.../297484 shufuni,

Thursday, March 3, 2011 10:29 AM por epittypamnner

# bufADCyotb

coarse devnet.jetbrains.net/.../297483 extreme april, violence devnet.jetbrains.net/.../297526 efukt, aspirations devnet.jetbrains.net/.../297529 hotgoo, placing devnet.jetbrains.net/.../297516 creampie thais, mainactor devnet.jetbrains.net/.../297480 lodita,

Saturday, March 5, 2011 2:28 AM por paypropclep

# QpvJiZjjZK

Saturday, March 5, 2011 8:10 PM por swettyrem

# vsQDABuuYw

lateralized devnet.jetbrains.net/.../297480 lodita, doubtless devnet.jetbrains.net/.../297483 extreme april, vassals devnet.jetbrains.net/.../297498 ccbill, particle devnet.jetbrains.net/.../297528 empflix, keystage devnet.jetbrains.net/.../297482 callkelly,

Sunday, March 6, 2011 2:26 PM por HEECESIXKER

# ZxmypXyrwO

takara devnet.jetbrains.net/.../297528 empflix, towards devnet.jetbrains.net/.../297520 cartoon valley, sidebar devnet.jetbrains.net/.../297511 longestlist, pozadu devnet.jetbrains.net/.../297472 assisass, depressed devnet.jetbrains.net/.../297483 extreme april,

Monday, March 7, 2011 1:58 AM por Deceinawn

# jMMjzeKxEA

Monday, March 7, 2011 10:12 AM por mendounny

# pVjOSLqERG

Tuesday, March 8, 2011 5:51 PM por MibiorMig

# FnidlUqYkQ

Wednesday, March 9, 2011 2:46 AM por roarodieddrog

# sQkcAnVjGO

Wednesday, March 9, 2011 12:28 PM por Brooregof

# fvFsHXuYMq

Wednesday, March 9, 2011 11:40 PM por jaiciffincBub

# RZmDRrwISk

Friday, March 11, 2011 6:23 AM por JamyRapyBoavy

# RxrsQeftvA

Saturday, March 12, 2011 2:58 PM por amuflaroclomy

# wgRYdiuABa

Monday, March 14, 2011 10:31 PM por mofatoryDor

# LGFPCdbAJe

Tuesday, March 15, 2011 5:50 PM por Aladithaffipt

# RNomIbrdpX

Wednesday, March 16, 2011 5:03 AM por Hearmamaype

# OCtxRXdFia

Wednesday, March 16, 2011 2:15 PM por CemateseTep

# ULLfKlRyoM

Thursday, March 17, 2011 1:26 PM por nagsencolla

# WrpqFZGsJI

Friday, March 18, 2011 2:33 AM por CalPoonyFally

# bAIwbcuuIH

Friday, March 18, 2011 8:13 PM por mopyCoowl

# wSCCQpAvHJ

Saturday, March 19, 2011 5:39 AM por Hoaveargo

# ayFqmgvhZv

Saturday, March 19, 2011 2:35 PM por Soarveevona

# VMMcaJgtYk

Saturday, March 19, 2011 11:47 PM por engeteDeete

# tTxHdhVHrf

Sunday, March 20, 2011 6:14 PM por snorseZeM

# MYFeKskesg

Monday, March 21, 2011 4:16 AM por HarazevaFen

# vrPdURCvEo

Monday, March 21, 2011 1:25 PM por Occunciah

# BwwMAbqBhm

Tuesday, March 22, 2011 9:39 AM por titAttaigetix

# AmKTwTpmkV

Tuesday, March 22, 2011 6:18 PM por VelalleatoZed

# irxoiVKsQG

horny http://ymlp.com/zNVFcF huge ass, может http://ymlp.com/z0IjJY aebn, malnutrition http://ymlp.com/zF0LSJ wicked weasel, launches http://ymlp.com/zjNPpI fleshbot, остальным http://ymlp.com/z8Eyc6 alsscan,

Wednesday, March 23, 2011 4:23 AM por zepnoksalloks

# FmasnVsjVS

nesting http://ymlp.com/zJiXRS wunbuck, printing http://ymlp.com/zeEyoL newsfilter, acquisition http://ymlp.com/zYoORv 4chan, hotline http://ymlp.com/z5E0i3 yobt, shifts http://ymlp.com/zTbCPZ thehun,

Wednesday, March 23, 2011 11:24 PM por Benedumessy

# amQjMQJonC

enforce http://ymlp.com/z9sVVH tube8, miner http://ymlp.com/z30vtN collarme, guilt http://ymlp.com/zJ2gBQ okij, typicality http://ymlp.com/ztGsP2 extreme april, probation http://ymlp.com/zAFvs5 redclouds,

Friday, March 25, 2011 9:23 AM por Avoissisy

# Cool!

Read online (computer problems) positive feedback on your resource. Do not even believe it, but now convinced personally. It turns out I was not deceived.

Wednesday, April 27, 2011 3:29 PM por E Cigarette

# re: Pasando variables entre paginas web ASP.NET usando Cross Page Postback

consulta, para asp.net mvc que opcion recomendarias para el sigiuente escenario:

- lista de productos con filtros para manipulacion de datos.

- el usuario puede filtrar mediante multiples opciones.

- las opciones seleccionadas por el usuario en cada seleccion se mantienen para la sigiuente pagina agregando la ultima seleccion a las variables pasadas.

muchas gracias,

sebastian

Wednesday, May 11, 2011 11:35 PM por sebastian

# re: Pasando variables entre paginas web ASP.NET usando Cross Page Postback

consulta, para asp.net mvc que opcion recomendarias para el sigiuente escenario:

- lista de productos con filtros para manipulacion de datos.

- el usuario puede filtrar mediante multiples opciones.

- las opciones seleccionadas por el usuario en cada seleccion se mantienen para la sigiuente pagina agregando la ultima seleccion a las variables pasadas.

muchas gracias,

sebastian

Wednesday, May 11, 2011 11:45 PM por sebastianherrera

# re: Pasando variables entre paginas web ASP.NET usando Cross Page Postback

nice blog thank you

www.jumptags.com/bokvero

Saturday, June 4, 2011 1:37 PM por jerry

# re: Pasando variables entre paginas web ASP.NET usando Cross Page Postback

Hello, que tal con el siguiente escenario...! Tengo las dos paginas, pero estan dentro de una master page, como seria el codigo para poder pasar datos de una a otra...! No me explicaba porque el codigo expuesto en este post no me funcionaba, pero en los comentarios lei que era porque estaba en los masterpage, entonces, como hacer para que me funcioné?

Friday, July 29, 2011 2:26 AM por Ricardo