Pasar datos entre páginas web con session en ASP.NET C#
La manera de pasar datos entre páginas web con session en ASP.NET C# es una de las opciones que tenemos de comunicación entre las páginas.
Mediante la sesión de la página que el cliente está ejecutando podemos guardar datos mediante identificadores y recuperarlos desde otras páginas.
Para utilizar la propiedad session es necesario estar heredando los métodos de a clase Page, por defecto las páginas aspx lo heredan.
Agregar datos en el estado de la sesión
Creamos dos páginas en un proyecto webform de nombre PaginaUno.aspx y Paginados.aspx.
Podría interesarte Referencias entre proyectos modelo de capas
En PaginaUno agregamos el siguiente código para agregar valores a la sesión actual:
Session["mensaje1"] = "Hola mundo";
- Asignamos el identificador de la sesión como mensaje1.
- El dato guardado de la sesión mensaje1 es “Hola mundo”.
Abrimos el archivo PaginaDos y agregamos el siguiente código para obtener los datos de la sesión:
string mensaje = Convert.ToString(Session["mensaje1"]);
- Asignamos a una variable el valor de la sesión con identificador de mensaje1.
- Es necesario convertir el valor de la sesión al tipo de dato requerido, si no se hace puede generar error.
Debes tomar en cuenta que cuando trabajas con datos en sesión pueden en algún evento limpiarse dichos datos.
Si los datos en sesión son eliminados al intentar capturarlos pueden generar errores, ya que su valor es null.
Para evitar algún error por la inexistencia de datos, es necesario validar que la sesión no sea nula con el siguiente código:
if (Session["mensaje1"] != null)
{
}
- Únicamente indicamos que si la sesión es diferente de null realice las tareas.
Podría interesarte Redireccionar desde el servidor en ASP.Net C#
Observaciones
Puedes agregar varios valores en sesión, solo hay que especificar diferentes identificadores.
No es recomendable que agregues demasiados datos en sesión, para no afectar el rendimiento de la aplicación.
Hola.
Sabes como se hace para llamar desde una pagina HTML llamar una pagina web apsx enviando un parámetro por ejemplo 1
En la url colocas los parámetros que envias al aspx, en el aspx (c#) obtienes los valores mediante la función Page.RouteData.Values.
https://docs.microsoft.com/en-us/dotnet/api/system.web.ui.page.routedata?view=netframework-4.8
Gracias… me sirvio…