Red de conocimiento informático - Conocimiento informático - Cómo: pasar valores entre páginas ASP.NETPor ejemplo, es posible que tenga una página donde los usuarios puedan seleccionar artículos para comprar. Cuando el usuario envía esta página, desea llamar a otras páginas para manejar la información que el usuario ingresó. Hay muchas formas de pasar información entre páginas, algunas de las cuales dependen de cómo se utilizan las redirecciones. Estas incluyen las siguientes opciones: Usar una cadena de consulta para agregar información a la URL de la página de destino. Puede utilizar cadenas de consulta cuando utiliza controles de hipervínculo para establecer la navegación dentro de una página o cuando utiliza métodos de redireccionamiento para redirigir mediante programación a otras páginas. Puede utilizar cadenas de consulta para pasar valores incluso si las páginas no están en la misma aplicación web, y puede hacerlo si desea pasar información a una página web que no sea ASP.NET. Si la página de destino es una página web ASP.NET, el valor de la cadena de consulta se puede leer desde la propiedad QueryString del objeto HttpRequest. Tenga en cuenta que nunca debe utilizar cadenas de consulta para pasar datos confidenciales, ya que la información de la cadena de consulta es visible para el usuario y puede modificarse fácilmente, lo que plantea posibles riesgos de seguridad. Utilice el estado de la sesión para almacenar información a la que luego se puede acceder desde todas las páginas ASP.NET en la aplicación actual. Sin embargo, este método consume memoria del servidor y su información se mantendrá en la memoria hasta que expire la sesión, por lo que la sobrecarga del sistema es mayor que pasar la información directamente a la página siguiente. Para obtener más información, consulte Descripción general de la administración de estado de ASP.NET. En la página de destino, los valores de control y los valores de propiedad pública se leen directamente desde la página de origen. Esta estrategia se aplica tanto cuando la página de origen se envía a través de páginas hasta la página de destino (para obtener más información, consulte Cómo: enviar una página web ASP.NET a otra página) como cuando se llama al método Transfer para transferir la ejecución desde el origen. página al servidor en la página de destino. En este tema se explican las estrategias para leer valores directamente desde la página de origen. Obtener el valor de propiedad pública de la página de origen Si la página de origen está diseñada específicamente para compartir información con la página de destino y ambas páginas son páginas web ASP.NET, puede agregar un * público a la página de origen ***Propiedades que exponen información compartida entre páginas****. Los valores de estas propiedades se pueden leer en la página de destino. Tenga en cuenta que las propiedades de la página de origen se pueden leer en la página de destino solo si ambas páginas están en la misma aplicación web. Obtener valores de propiedad pública de la página de origen En la página de origen, se crean una o más propiedades públicas. VBPublicReadOnProperty CurrentCity() AsStringGetReturn textCity.EndGetEndPropertyC#public String CurrentCity { get { return textCity.Text }} Tenga en cuenta que las propiedades que se crean en la página de origen y se utilizan principalmente para enviar valores públicos entre páginas suelen ser propiedades de solo lectura; Aunque la página de origen puede contener propiedades públicas de lectura/escritura, establecer las propiedades de la página de origen a través de las propiedades de la página de destino generalmente no tiene ningún efecto porque el valor no se conserva. En la página de destino, agregue una directiva de página @PreviousPageType que apunte a la página de origen. El siguiente ejemplo de código muestra una directiva PreviousPageType que hace referencia a una página de origen denominada SourcePage.aspx. <%@?0?2PreviousPageType VirtualPath="~/SourcePage.aspx" %> La directiva PreviousPageType hace que la propiedad PreviousPage de la página se escriba en la clase de página de origen. En el código de la página de destino, las propiedades de origen se leen utilizando el miembro fuertemente tipado de la propiedad PreviousPage.

Cómo: pasar valores entre páginas ASP.NETPor ejemplo, es posible que tenga una página donde los usuarios puedan seleccionar artículos para comprar. Cuando el usuario envía esta página, desea llamar a otras páginas para manejar la información que el usuario ingresó. Hay muchas formas de pasar información entre páginas, algunas de las cuales dependen de cómo se utilizan las redirecciones. Estas incluyen las siguientes opciones: Usar una cadena de consulta para agregar información a la URL de la página de destino. Puede utilizar cadenas de consulta cuando utiliza controles de hipervínculo para establecer la navegación dentro de una página o cuando utiliza métodos de redireccionamiento para redirigir mediante programación a otras páginas. Puede utilizar cadenas de consulta para pasar valores incluso si las páginas no están en la misma aplicación web, y puede hacerlo si desea pasar información a una página web que no sea ASP.NET. Si la página de destino es una página web ASP.NET, el valor de la cadena de consulta se puede leer desde la propiedad QueryString del objeto HttpRequest. Tenga en cuenta que nunca debe utilizar cadenas de consulta para pasar datos confidenciales, ya que la información de la cadena de consulta es visible para el usuario y puede modificarse fácilmente, lo que plantea posibles riesgos de seguridad. Utilice el estado de la sesión para almacenar información a la que luego se puede acceder desde todas las páginas ASP.NET en la aplicación actual. Sin embargo, este método consume memoria del servidor y su información se mantendrá en la memoria hasta que expire la sesión, por lo que la sobrecarga del sistema es mayor que pasar la información directamente a la página siguiente. Para obtener más información, consulte Descripción general de la administración de estado de ASP.NET. En la página de destino, los valores de control y los valores de propiedad pública se leen directamente desde la página de origen. Esta estrategia se aplica tanto cuando la página de origen se envía a través de páginas hasta la página de destino (para obtener más información, consulte Cómo: enviar una página web ASP.NET a otra página) como cuando se llama al método Transfer para transferir la ejecución desde el origen. página al servidor en la página de destino. En este tema se explican las estrategias para leer valores directamente desde la página de origen. Obtener el valor de propiedad pública de la página de origen Si la página de origen está diseñada específicamente para compartir información con la página de destino y ambas páginas son páginas web ASP.NET, puede agregar un * público a la página de origen ***Propiedades que exponen información compartida entre páginas****. Los valores de estas propiedades se pueden leer en la página de destino. Tenga en cuenta que las propiedades de la página de origen se pueden leer en la página de destino solo si ambas páginas están en la misma aplicación web. Obtener valores de propiedad pública de la página de origen En la página de origen, se crean una o más propiedades públicas. VBPublicReadOnProperty CurrentCity() AsStringGetReturn textCity.EndGetEndPropertyC#public String CurrentCity { get { return textCity.Text }} Tenga en cuenta que las propiedades que se crean en la página de origen y se utilizan principalmente para enviar valores públicos entre páginas suelen ser propiedades de solo lectura; Aunque la página de origen puede contener propiedades públicas de lectura/escritura, establecer las propiedades de la página de origen a través de las propiedades de la página de destino generalmente no tiene ningún efecto porque el valor no se conserva. En la página de destino, agregue una directiva de página @PreviousPageType que apunte a la página de origen. El siguiente ejemplo de código muestra una directiva PreviousPageType que hace referencia a una página de origen denominada SourcePage.aspx. <%@?0?2PreviousPageType VirtualPath="~/SourcePage.aspx" %> La directiva PreviousPageType hace que la propiedad PreviousPage de la página se escriba en la clase de página de origen. En el código de la página de destino, las propiedades de origen se leen utilizando el miembro fuertemente tipado de la propiedad PreviousPage.

VB Label1.Text = PreviousPage.CurrentCity C# Label1.Text = PreviousPage.CurrentCity; Obtenga información de control de la misma página de origen de la aplicación si la página de origen y la página de destino son páginas ASP.NET. Ambas son páginas web ASP.NET y están en la misma aplicación web. Los valores de control de la página de origen se pueden leer en la página de destino. Esta estrategia se puede utilizar si la página de origen no expone un atributo de dios público que contenga la información requerida. Obtenga un valor de control de una página de origen en la misma aplicación. En la página de destino, use la propiedad PreviousPage de la página de destino para obtener una referencia a la página de origen y luego llame al método FindControl para obtener una referencia al control deseado. El siguiente ejemplo de código obtiene el valor del control TextBox1 en la página de origen y lo muestra en un control denominado Label1: VBIfNot Page.PreviousPage IsNothingThenDim SourceTextBox As TextBox SourceTextBox = CType( PreviousPage.FindControl("TextBox1"), _ TextBox) IfNot SourceTextBox IsNothingThen Label1.Text = SourceTextBox.Text EndIfEndIfC#if (Page. PreviousPage! = null) { TextBox SourceTextBox = (TextBox)Page.PreviousPage.FindControl("TextBox1"); if (SourceTextBox! FindControl("TextBox1"); if ( SourceTextBox != null) { Label1.Text = SourceTextBox.Text }} Tenga en cuenta que el método FindControl se utiliza para encontrar el control en el contenedor con nombre actual si el control que está buscando se encuentra en otro control (normalmente en una plantilla). ), primero debe obtener una referencia al contenedor y luego buscar en ese contenedor el control que desea obtener. Es posible obtener la información enviada desde la página de origen en otra aplicación si las páginas de origen y de destino no están en la misma. aplicación web. Lea el valor enviado por la página de origen en la página de destino. Este método también se puede utilizar si la página de destino es una página web ASP.NET y la página de origen no lo es. no el valor enviado. Obtenga el valor de cualquier control en la página. Para obtener el valor del control de la página de origen en otra aplicación, en la página de destino, lea la colección de formularios, que devuelve un diccionario de pares de nombre/valor (uno para). cada valor enviado) par de valores). El siguiente ejemplo de código demuestra cómo enviar el ID y el valor de cada control en la página de origen y mostrar el valor enviado en una etiqueta denominada Etiqueta1. Tenga en cuenta que la información "enviada" en la página web ASP.NET. incluye ocultos. Los valores de campos como __VIEWSTATE, __EVENTTARGET y __EVENTARGUMENT se utilizan para el procesamiento interno de la página. El siguiente ejemplo de código excluye los valores de los campos nombrados que comienzan con dos guiones bajos (__). Longitud - 1 nextKey = publicadoValues.AllKeys(i) Si nextKey.Substring(0, 2) <>"__"Entonces displayValues.Append("<> "__").