Principales respuestas
AYUDA pasar parametro de un DropDownList a otro Drop en distina pagina

Pregunta
-
Respuestas
-
hola
una cosa es que seleccione y otra que cargue los items
- cargas los items usando el metodo llenarGrid() esto lo usas en las dos paginas
- seleccionas el item asignando el SelectedValue con el valor que asignaste en la Session
>>el Drop de la segunda no quiero que venga de la Base de datos , quiero que se llene con el primer drop
partamos de la base que no me parece correcto
pero si quisiseras hacerlo entonces el datatable que se cargo con la ejecucion del llenarGrid() deberias asignarlo a la Session y en la segunda pagina asignar el DataSource del combo con ese datatable
saludos
Leandro Tuttini
Blog
MVP Profile
Buenos Aires
Argentina- Editado Leandro TuttiniMVP jueves, 29 de octubre de 2015 18:04
- Marcado como respuesta Karen MalagónModerator lunes, 2 de noviembre de 2015 18:37
Todas las respuestas
-
hola
como navegas de una pagina a la otra ? usas un Response.Redirect()
si es asi podrias enviar el dato del combo en la url y usar el Request.QueryString() para recuperarlo en la otra pagina
o podrias usar el objeto Session, asignas el valor en la session y desde la otra pagina lo recuperas para asignarlo en el combo
saludos
Leandro Tuttini
Blog
MVP Profile
Buenos Aires
Argentina -
Sludos Leandro, lo hago de la siguiente manera :
En la pagina que envia los parametros tengo lo siguiente:
Protected Sub btnVacante_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnVacante.Click llenarGrid() Session("drop1") = DropDownListVacantes.SelectedItem.Text Session("drop2") = DropDownListVacantes.SelectedValue Response.Redirect("curriculum.aspx") End Sub Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load If Not IsPostBack Then llenarGrid() End If End Sub Sub llenarGrid() Try Dim queryString As String = "SELECT id_vacante, nom_vacante FROM vacante WHERE estado_vacante='ACTIVO'" Using connection As New SqlConnection(connectionString) Dim command As New SqlCommand(queryString, connection) adaptador = New SqlDataAdapter(command) Dim datos As New DataTable adaptador.Fill(datos) DropDownListVacantes.DataSource = datos DropDownListVacantes.DataTextField = "nom_vacante" DropDownListVacantes.DataValueField = "id_vacante" DropDownListVacantes.DataBind() End Using Catch ex As Exception Response.Write("<script>alert('La conexion no pudo realizarse en CEDA 517')</script>") End Try End Sub
Y en la pagina que recibe tengo lo siguiente:
DropDownList1.DataTextField = Session("drop1") DropDownList1.DataValueField = Session("drop2")
Eso lo tengo dentro del Page_Load de la pagina
-
-
hola
pero en la segunda pagina deberias primero cargar el grid y depsues usar
DropDownList1.SelectedValue = Session("drop2").ToString()
o sea imagine que querias selecccionar el item
saludos
Leandro Tuttini
Blog
MVP Profile
Buenos Aires
Argentina -
-
-
Leandro logre pasar los parametros a dos cajas de texto que me parece es lo mas sencillo , ahora hago lo siguiente
Sub llenarGrid() Try Dim queryString As String = "SELECT id_vacante, nom_vacante FROM vacante WHERE id_vacante=@param1 and nom_vacante=@param2" Using connection As New SqlConnection(connectionString) Dim command As New SqlCommand(queryString, connection) command.Parameters.AddWithValue("@param1", TextBox1.Text) command.Parameters.AddWithValue("@param2", TextBox2.Text) adaptador = New SqlDataAdapter(command) Dim datos As New DataTable adaptador.Fill(datos) DropDownList1.DataSource = datos DropDownList1.DataTextField = "nom_vacante" DropDownList1.DataValueField = "id_vacante" DropDownList1.DataBind() End Using Catch ex As Exception Response.Write(String.Format("<script>alert('{0}')</script>", ex.Message)) End Try End Sub
pero aun no me muestra nada -
>>quiero llenar el drop de la segunda pagina, con los datos del drop proveniente de la primera
porque en la segunda pagina no invocas la funcionalidad que ejecuta la query a la db
o sea podrias llevar el codigo a una clase y compartir la funcionalidad entre las paginas
Public Class DbHelper Public Shared Function llenarGrid() As DataTable Dim queryString As String = "SELECT id_vacante, nom_vacante FROM vacante WHERE estado_vacante='ACTIVO'" Using connection As New SqlConnection(connectionString) Dim command As New SqlCommand(queryString, connection) adaptador = New SqlDataAdapter(command) Dim datos As New DataTable adaptador.Fill(datos) Return datos End Using End Sub End Class
y lo usas
Try DropDownListVacantes.DataSource = DbHelper.llenarGrid() DropDownListVacantes.DataTextField = "nom_vacante" DropDownListVacantes.DataValueField = "id_vacante" DropDownListVacantes.DataBind() Catch ex As Exception Response.Write("<script>alert('La conexion no pudo realizarse en CEDA 517')</script>") End Try
de la misma forma lo usarias en la segunda pagina
asi no pasas nada entre las paginas sino que compartes codigo
saludos
Leandro Tuttini
Blog
MVP Profile
Buenos Aires
Argentina -
Porque quiero que me muestre especificamente la que se seleccione en la primera pagina, osea el Drop de la segunda no quiero que venga de la Base de datos , quiero que se llene con el primer drop
- Editado Gspindola jueves, 29 de octubre de 2015 17:56
-
hola
una cosa es que seleccione y otra que cargue los items
- cargas los items usando el metodo llenarGrid() esto lo usas en las dos paginas
- seleccionas el item asignando el SelectedValue con el valor que asignaste en la Session
>>el Drop de la segunda no quiero que venga de la Base de datos , quiero que se llene con el primer drop
partamos de la base que no me parece correcto
pero si quisiseras hacerlo entonces el datatable que se cargo con la ejecucion del llenarGrid() deberias asignarlo a la Session y en la segunda pagina asignar el DataSource del combo con ese datatable
saludos
Leandro Tuttini
Blog
MVP Profile
Buenos Aires
Argentina- Editado Leandro TuttiniMVP jueves, 29 de octubre de 2015 18:04
- Marcado como respuesta Karen MalagónModerator lunes, 2 de noviembre de 2015 18:37