Foros del Web » Programando para Internet » ASPX (.net) »

Uso de variable session! No manda la variable:

Estas en el tema de Uso de variable session! No manda la variable: en el foro de ASPX (.net) en Foros del Web. Hola a todos, pues verán tengo una tabla en la que en la última columna inserto un link el cual me redirige a una página ...
  #1 (permalink)  
Antiguo 13/07/2012, 09:44
Avatar de stuart_david3  
Fecha de Ingreso: agosto-2011
Mensajes: 215
Antigüedad: 12 años, 7 meses
Puntos: 1
Información Uso de variable session! No manda la variable:

Hola a todos, pues verán tengo una tabla en la que en la última columna inserto un link el cual me redirige a una página en la que paso una variable de sessión, pero la otra página no me recibe nada. Esta algo mal en cuanto a como estoy usando la variable session?

Aquí la mando:
Código ASP:
Ver original
  1. Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
  2.         Dim funcionario = Request.QueryString("datos")
  3.         Dim reader As SqlDataReader
  4.         Dim conn As SqlConnection = New SqlConnection("server=(local);database=mydb;User ID=myuser;Password=mypass;Trusted_Connection=no")
  5.         Dim sql As String = "SELECT id, nombre, puestoant, funcionario_en_revision FROM Reemplazos3 WHERE funcionario_en_revision='" & funcionario & "'"
  6.         Dim dr As New SqlCommand(sql, conn)
  7.         conn.Open()
  8.         reader = dr.ExecuteReader()
  9.         Response.Write("<table border=1><tr><td>RPE</td>")
  10.         Response.Write("<td>NOMBRE</td>")
  11.         Response.Write("<td>PUESTO</td>")
  12.         Response.Write("<td>CORREO</td>")
  13.         Response.Write("<td>PROPUESTAS</td></tr>")
  14.         While reader.Read()
  15.             Dim Para = CStr(reader("funcionario_en_revision"))
  16.             Response.Write("<tr><td>" + CStr(reader("id")).ToString + "</td>")
  17.             Response.Write("<td>" + CStr(reader("nombre")).ToString + "</td>")
  18.             Response.Write("<td>" + CStr(reader("puestoant")).ToString + "</td>")
  19.             Response.Write("<td>" + CStr(reader("funcionario_en_revision")).ToString + "</td>")
  20.             'Response.Write("<td><a href=ConfirmarFunc1.aspx>Click</a>" + Session(CStr(reader("funcionario_en_revision")).ToString + "</td>"))
  21.             'Response.Write("<td><a href=ConfirmarFunc1.aspx>Click</a>" + Session("funcionario_en_revision") = CStr(reader("funcionario_en_revision")).ToString + "</td>")
  22.             Response.Write("<td>")
  23.             'Aquí mando mi variable session ¿esta bien?...
  24.             Response.Write("<a href=ConfirmarFunc1.aspx>hola" + Session(CStr(reader("funcionario_en_revision")).ToString) + "</a>")
  25.             Response.Write("</td>")
  26.             Response.Write("</tr>")
  27.         End While
  28.         Response.Write("</table>")
  29.         reader.Close()
  30.         conn.Close()
  31.  
  32.     End Sub

Aquí lo recibo:

Código ASP:
Ver original
  1. Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
  2.         Dim reader As SqlDataReader
  3.         Dim values As ArrayList = New ArrayList()
  4.         Dim conn As SqlConnection = New SqlConnection("server=10.11.2.49;database=DBPrueba;User ID=sa;Password=administrador;Trusted_Connection=no")
  5.         Dim Answer = ""
  6.         'Aquí lo recibo pero siempre me manda el mensaje de "no hay"
  7.         If (Session("funcionario_en_revision") = "") Then
  8.             Answer = "no hay"
  9.         Else
  10.             Answer = Session("funcionario_en_revision").ToString()
  11.         End If
  12.         TextBox1.Text = Answer
  13. .
  14. .
  15. .

Espero y me puedan ayudar, estoy algo desesperado y llevo tiempo con lo mismo ... Solo me manda el mensaje de que "no hay" osea que no me recibe mi variable de session ...
  #2 (permalink)  
Antiguo 13/07/2012, 11:08
Avatar de stuart_david3  
Fecha de Ingreso: agosto-2011
Mensajes: 215
Antigüedad: 12 años, 7 meses
Puntos: 1
Respuesta: Uso de variable session! No manda la variable:

Ok, creo que ya funciona la parte de enviar y recibir n_n... Pero ahí un detalle, como la lectura de registros la hago en un ciclo while, siempre me lee el último registro y por lo tanto me redirige a mi otra página con los datos de mi última fila ...

¿Cómo le hago para decirle que me lea solo los datos de la fila que seleccione?...

Aquí les dejo el código:

Envía:
Código ASP:
Ver original
  1. Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
  2.         Dim funcionario = Request.QueryString("datos")
  3.         Dim reader As SqlDataReader
  4.         Dim conn As SqlConnection = New SqlConnection("server=(local);database=mydb;User ID=myuser;Password=mypass;Trusted_Connection=no")
  5.         Dim sql As String = "SELECT id, nombre, puestoant, funcionario_en_revision FROM Reemplazos3 WHERE funcionario_en_revision='" & funcionario & "'"
  6.         Dim dr As New SqlCommand(sql, conn)
  7.         conn.Open()
  8.         reader = dr.ExecuteReader()
  9.         Response.Write("<table border=1><tr><td>RPE</td>")
  10.         Response.Write("<td>NOMBRE</td>")
  11.         Response.Write("<td>PUESTO</td>")
  12.         Response.Write("<td>CORREO</td>")
  13.         Response.Write("<td>PROPUESTAS</td></tr>")
  14.         While reader.Read()
  15.             Dim Para = CStr(reader("funcionario_en_revision"))
  16.             'Aquí envio los datos pero solo me toma el ultimo registro en el link a la otra página
  17.             Session("funcionario_en_revision") = CStr(reader("id").ToString)
  18.             Response.Write("<tr><td>" + CStr(reader("id")).ToString + "</td>")
  19.             Response.Write("<td>" + CStr(reader("nombre")).ToString + "</td>")
  20.             Response.Write("<td>" + CStr(reader("puestoant")).ToString + "</td>")
  21.             Response.Write("<td>" + CStr(reader("funcionario_en_revision")).ToString + "</td>")
  22.             Response.Write("<td>")
  23.             Response.Write("<a href='ConfirmarFunc1.aspx'>Ver Contrato</a>")
  24.             Response.Write("</td>")
  25.             Response.Write("</tr>")
  26.         End While
  27.         Response.Write("</table>")
  28.         reader.Close()
  29.         conn.Close()
  30.  
  31.     End Sub

Recibe:

Código ASP:
Ver original
  1. Dim Answer As String
  2.         'Recibo y almaceno en "Answer"
  3.         Answer = CType(Session("funcionario_en_revision"), String)
  4.         TextBox1.Text = Answer
  5.         Dim sql As String = "SELECT id, control, rpe, nombre, fechaant, escolaridad, ingreso, numplazaant, puestoant, claveant, adscripant, goant, ndant, cecoant, salarioant, deant, aant, numplazaact, puestoact, claveact, adscripact, goact, ndact, cecoact, salarioact, deact, aact, motivado, funcionario_en_revision, status1, status15, status2, status25, status3 FROM Reemplazos3 WHERE id='" & Answer & "'"

Cómo le hago para que me cada link me lea el dato de cada fila ...

De antemano agradezco su amable ayuda...

Última edición por stuart_david3; 13/07/2012 a las 12:40
  #3 (permalink)  
Antiguo 16/07/2012, 12:09
Avatar de stuart_david3  
Fecha de Ingreso: agosto-2011
Mensajes: 215
Antigüedad: 12 años, 7 meses
Puntos: 1
Respuesta: Uso de variable session! No manda la variable:

Al final lo hice con un gridview así, al principio no me salía por que ponía una columan como tipo hiperlink cuando tenía que haber solo "habilitado la selección" en el mismo gridview y gracias a Dios funcionó n_n... Aquí el código, pos si le sirve a alguien:

Envía:

Código ASP:
Ver original
  1. Protected Sub GridView1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles GridView1.SelectedIndexChanged
  2.         Session("sobres") = GridView1.SelectedRow().Cells(1).Text.ToString
  3.         Response.Redirect("Recibe.aspx")
  4.     End Sub

Recibe:

Código ASP:
Ver original
  1. Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
  2.         Dim Answer As String
  3.         Answer = CType(Session("sobres"), String)
  4.         TextBox1.Text = Answer
  5.     End Sub

Etiquetas: null, session, sql, aspx, sql-server
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:27.