Mantener variables en varias páginas aspx

11/07/2006 - 20:37 por jazdian | Informe spam
Hola a todos:

Estoy creando un proyecto en C#.Net donde para entrar a ver algunos
datos se necesita entrar con usuario y contraseña.
En una base de sql server tengo una tabla de usuarios con los campos
de:

Usuario: Juan
Contraseña: 123
Categoria: 1
Ciudad: 2

Cuando Pedro ingresa correctamente su nombre y contraseña, con una
consulta verifico que exista Pedro y que la contraseña se correcta y
despues se reedirige a la página con una tabla de ventas.

Bueno pues, lo que se me complica es que la tabla de ventas filtre
únicamente los tatos de Juan y ciudad "2".

¿Como puedo mantener los dos valores en todas mis páginas para poder
hacer las consultas y filtrar los datos de acuerdo a los valores del
usuario?

Agradeceré su ayuda.

René

Preguntas similare

Leer las respuestas

#1 Matías Iacono
11/07/2006 - 21:32 | Informe spam
Al momento de hacer el login, si es correcto, almacena los valores que
necesitas, como llaves del usuario, en variables tipo session.

En VB.net: Session("Nombre") = Valor

Y luego, para leerla:

Valor = Session("Nombre")

En C# es similar, solo cambia la nomenclatura.

Saludos.

Matías Iacono
Microsoft MVP ASP/ASP.net
Orador INETA
"jazdian" escribió en el mensaje
news:
Hola a todos:

Estoy creando un proyecto en C#.Net donde para entrar a ver algunos
datos se necesita entrar con usuario y contraseña.
En una base de sql server tengo una tabla de usuarios con los campos
de:

Usuario: Juan
Contraseña: 123
Categoria: 1
Ciudad: 2

Cuando Pedro ingresa correctamente su nombre y contraseña, con una
consulta verifico que exista Pedro y que la contraseña se correcta y
despues se reedirige a la página con una tabla de ventas.

Bueno pues, lo que se me complica es que la tabla de ventas filtre
únicamente los tatos de Juan y ciudad "2".

¿Como puedo mantener los dos valores en todas mis páginas para poder
hacer las consultas y filtrar los datos de acuerdo a los valores del
usuario?

Agradeceré su ayuda.

René
Respuesta Responder a este mensaje
#2 Victor B.
12/07/2006 - 01:01 | Informe spam
Bueno Matías, en mi caso pasa lo siguiente, y es que tengo en un servidor
comercial una sencilla aplicación web(tienda on-line) sin ningún extra, solo
75Mb. de espacio en un IIS 5.0 y Framework 1. El tipo sesion es Inproc y a
excepción de las propiedades intrínsecas del objeto session, las variables
que declaro se pierden con mucha rapidez. Así que opté por usar Inputs
Hidden y, en ocasiones, ViewState. Es normal que haya tanto consumo de
memoria en el servidor que necesite reciclar con tanta frecuencia?, puedo
protestarles?.


Víctor B.
Desarrollador independiente

"Matías Iacono" escribió en el mensaje
news:
Al momento de hacer el login, si es correcto, almacena los valores que
necesitas, como llaves del usuario, en variables tipo session.

En VB.net: Session("Nombre") = Valor

Y luego, para leerla:

Valor = Session("Nombre")

En C# es similar, solo cambia la nomenclatura.

Saludos.

Matías Iacono
Microsoft MVP ASP/ASP.net
Orador INETA
"jazdian" escribió en el mensaje
news:
Hola a todos:

Estoy creando un proyecto en C#.Net donde para entrar a ver algunos
datos se necesita entrar con usuario y contraseña.
En una base de sql server tengo una tabla de usuarios con los campos
de:

Usuario: Juan
Contraseña: 123
Categoria: 1
Ciudad: 2

Cuando Pedro ingresa correctamente su nombre y contraseña, con una
consulta verifico que exista Pedro y que la contraseña se correcta y
despues se reedirige a la página con una tabla de ventas.

Bueno pues, lo que se me complica es que la tabla de ventas filtre
únicamente los tatos de Juan y ciudad "2".

¿Como puedo mantener los dos valores en todas mis páginas para poder
hacer las consultas y filtrar los datos de acuerdo a los valores del
usuario?

Agradeceré su ayuda.

René


Respuesta Responder a este mensaje
#3 jazdian
12/07/2006 - 01:12 | Informe spam
Matías:

Tu sugerencia me sirvió de mucho, ya logré lo que necesitaba; hice
algo así:

cuando el usuario se conecta y valido su contraseña, paso a asiganar
los valores de la tabla "usuarios" a las variables session y me
redirecciono a otra página.

Session["usuarios"] = dc.Rows[0]["Nombre"].ToString();
Session["ciudades"] = dc.Rows[0]["ciudad"].ToString();
Session["Distribuidor"] = dc.Rows[0]["distribuidor"].ToString();
Session["Zona"] = dc.Rows[0]["zona"].ToString();

Ya en la otra página puedo asiganar así las variables:

this.LabelSesion.Text = "Bienvenido: " + Session["usuarios"]
+ " " + Session["ciudades"]
+ " " + Session["Distribuidor"]
+ " " + Session["Zona"];

tambien puedo hacer mis filtros en las consultas necesarias.

Muchas gracias.


Matías Iacono ha escrito:

Al momento de hacer el login, si es correcto, almacena los valores que
necesitas, como llaves del usuario, en variables tipo session.

En VB.net: Session("Nombre") = Valor

Y luego, para leerla:

Valor = Session("Nombre")

En C# es similar, solo cambia la nomenclatura.

Saludos.

Matías Iacono
Microsoft MVP ASP/ASP.net
Orador INETA
"jazdian" escribió en el mensaje
news:
Respuesta Responder a este mensaje
#4 Matías Iacono
12/07/2006 - 15:14 | Informe spam
En realidad no es normal :D

Las variables de session se reciclan por algunos motivos, por ejemplo, si
modificas el web.config, si apagas el servidor :), o si así se lo indicas.

Ahora, puede que el server las recicle debido al tipo de dato que guardas.
Como recomendación, es importante no guardar objetos en estas variables.
Objetos como, Conexiones, DataSet, DataTables, etc.

En definitiva, lo mejor a guardar es un dato simple, una cadena de texto, un
numero.

Por otro lado, sin conocer el código, y si comples con lo ántes hablado, la
respuesta es SI, haz valer lo que pagas.

:)

Matías Iacono
Microsoft MVP ASP/ASP.net
Orador INETA
"Victor B." escribió en el mensaje
news:
Bueno Matías, en mi caso pasa lo siguiente, y es que tengo en un servidor
comercial una sencilla aplicación web(tienda on-line) sin ningún extra,
solo 75Mb. de espacio en un IIS 5.0 y Framework 1. El tipo sesion es
Inproc y a excepción de las propiedades intrínsecas del objeto session,
las variables que declaro se pierden con mucha rapidez. Así que opté por
usar Inputs Hidden y, en ocasiones, ViewState. Es normal que haya tanto
consumo de memoria en el servidor que necesite reciclar con tanta
frecuencia?, puedo protestarles?.


Víctor B.
Desarrollador independiente

"Matías Iacono" escribió en el mensaje
news:
Al momento de hacer el login, si es correcto, almacena los valores que
necesitas, como llaves del usuario, en variables tipo session.

En VB.net: Session("Nombre") = Valor

Y luego, para leerla:

Valor = Session("Nombre")

En C# es similar, solo cambia la nomenclatura.

Saludos.

Matías Iacono
Microsoft MVP ASP/ASP.net
Orador INETA
"jazdian" escribió en el mensaje
news:
Hola a todos:

Estoy creando un proyecto en C#.Net donde para entrar a ver algunos
datos se necesita entrar con usuario y contraseña.
En una base de sql server tengo una tabla de usuarios con los campos
de:

Usuario: Juan
Contraseña: 123
Categoria: 1
Ciudad: 2

Cuando Pedro ingresa correctamente su nombre y contraseña, con una
consulta verifico que exista Pedro y que la contraseña se correcta y
despues se reedirige a la página con una tabla de ventas.

Bueno pues, lo que se me complica es que la tabla de ventas filtre
únicamente los tatos de Juan y ciudad "2".

¿Como puedo mantener los dos valores en todas mis páginas para poder
hacer las consultas y filtrar los datos de acuerdo a los valores del
usuario?

Agradeceré su ayuda.

René






Respuesta Responder a este mensaje
#5 Victor B.
12/07/2006 - 17:38 | Informe spam
Gracias Matías por tu respuesta. En realidad solo almaceno Strings(no
demasiado largos) y algún que otro número. Al final he optado por contratar
MS Sql(10Mb solo) a ver si consigo que las sesiones sean gestionadas por la
base de datos...


Víctor B.
Desarrollador independiente
"Matías Iacono" escribió en el mensaje
news:
En realidad no es normal :D

Las variables de session se reciclan por algunos motivos, por ejemplo, si
modificas el web.config, si apagas el servidor :), o si así se lo indicas.

Ahora, puede que el server las recicle debido al tipo de dato que guardas.
Como recomendación, es importante no guardar objetos en estas variables.
Objetos como, Conexiones, DataSet, DataTables, etc.

En definitiva, lo mejor a guardar es un dato simple, una cadena de texto,
un numero.

Por otro lado, sin conocer el código, y si comples con lo ántes hablado,
la respuesta es SI, haz valer lo que pagas.

:)

Matías Iacono
Microsoft MVP ASP/ASP.net
Orador INETA
"Victor B." escribió en el mensaje
news:
Bueno Matías, en mi caso pasa lo siguiente, y es que tengo en un servidor
comercial una sencilla aplicación web(tienda on-line) sin ningún extra,
solo 75Mb. de espacio en un IIS 5.0 y Framework 1. El tipo sesion es
Inproc y a excepción de las propiedades intrínsecas del objeto session,
las variables que declaro se pierden con mucha rapidez. Así que opté por
usar Inputs Hidden y, en ocasiones, ViewState. Es normal que haya tanto
consumo de memoria en el servidor que necesite reciclar con tanta
frecuencia?, puedo protestarles?.


Víctor B.
Desarrollador independiente

"Matías Iacono" escribió en el mensaje
news:
Al momento de hacer el login, si es correcto, almacena los valores que
necesitas, como llaves del usuario, en variables tipo session.

En VB.net: Session("Nombre") = Valor

Y luego, para leerla:

Valor = Session("Nombre")

En C# es similar, solo cambia la nomenclatura.

Saludos.

Matías Iacono
Microsoft MVP ASP/ASP.net
Orador INETA
"jazdian" escribió en el mensaje
news:
Hola a todos:

Estoy creando un proyecto en C#.Net donde para entrar a ver algunos
datos se necesita entrar con usuario y contraseña.
En una base de sql server tengo una tabla de usuarios con los campos
de:

Usuario: Juan
Contraseña: 123
Categoria: 1
Ciudad: 2

Cuando Pedro ingresa correctamente su nombre y contraseña, con una
consulta verifico que exista Pedro y que la contraseña se correcta y
despues se reedirige a la página con una tabla de ventas.

Bueno pues, lo que se me complica es que la tabla de ventas filtre
únicamente los tatos de Juan y ciudad "2".

¿Como puedo mantener los dos valores en todas mis páginas para poder
hacer las consultas y filtrar los datos de acuerdo a los valores del
usuario?

Agradeceré su ayuda.

René










email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida