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

Problemas con postback dropdownlist

Estas en el tema de Problemas con postback dropdownlist en el foro de ASPX (.net) en Foros del Web. tengo un formulario que diseñe con dreamweaver en el cual hay 3 drop down los mismos son alimentados por medio de tablas de una base ...
  #1 (permalink)  
Antiguo 24/01/2008, 13:34
Avatar de cy5
cy5
 
Fecha de Ingreso: diciembre-2007
Ubicación: Panama
Mensajes: 157
Antigüedad: 16 años, 4 meses
Puntos: 0
Pregunta Problemas con postback dropdownlist

tengo un formulario que diseñe con dreamweaver en el cual hay 3 drop down los mismos son alimentados por medio de tablas de una base de datos X ok bien tena problemas con el primer dropdown ya que si el usuario seleccionaba un item al recargar el autopostback el drop don regresaba a la opcion todos eso lo controle con esto

<%
If Page.IsPostBack = true Then
ar.selectedindex = request.Form("ar") - 1

else
ar.SelectedIndex = ar.Items.IndexOf(ar.Items.FindByValue("9"))

End If
%>

ar viene siendo el id del primer dropdown . Cuando carga el dropdown ar el mismo alimenta el segundo dropdown llamado cent con los datos relacionados a la primera seleccion. lo que en realidad hago es asignarle al dropdown la variable de formulario que contiene la seleccion que el usuario hizo. Bien el problema es que tengo que hacer algo parecido cuando la aplicacion haga lo mismo en el segundo autopostback del segundo dropdown. estoy intentando hacerlo asi

<%
If Page.IsPostBack = true Then
ar.selectedindex = request.Form("ar") - 1

if cent.selectedindex = true then
cent.selectedindex = request.form("cent") -1
end if

else
ar.SelectedIndex = ar.Items.IndexOf(ar.Items.FindByValue("9"))
cent.SelectedIndex = cent.Items.IndexOf(cent.Items.FindByValue("144"))
End If
%>

pero al hacer el postback del primero envia un error por que la aplicacion desconoce la seleccion en el segundo dropdown (cent) e intentado validaciones como if cent.selectedindex = "0" then y tambien if cent.selectedindex = null then
pero obtengo resultados parecidos
no se pero creo que la clave es saber que contiene request.form("cent") o cent.selectedindex antes de seleccionar un item
  #2 (permalink)  
Antiguo 25/01/2008, 04:05
Avatar de Javier Santamaria  
Fecha de Ingreso: julio-2007
Mensajes: 296
Antigüedad: 16 años, 9 meses
Puntos: 1
Re: Problemas con postback dropdownlist

Hola,

Te explico un poco como hago yo para hacer esto.

en el page load esto:
If Not me.ispostback then
populatedropdownlist1()
'aqui me traigo los datos de la base d edatos o de donde sea

en el selectedindexchange del ddl1 hago esto:
populatedropdownlist2(ddl1.selectedindex/item/value)
'aqui llamo a la funcion que me llena el ddl2 a partir de lo seleccionado en ddl1

Espero que te sirva porque la verdad me parece muy raro lo del request.form

Saludos

end if
  #3 (permalink)  
Antiguo 25/01/2008, 07:28
Avatar de cy5
cy5
 
Fecha de Ingreso: diciembre-2007
Ubicación: Panama
Mensajes: 157
Antigüedad: 16 años, 4 meses
Puntos: 0
Pregunta Re: Problemas con postback dropdownlist

ok no tengo problemas con la carga en el segundo dropdown el problema lo tengo cuando el usuario selecciona un item de mi segundo dropdown y que el mismo presente el item seleccionado por que lo que ocurre es que el usuario selecciona un item pero el mismo regresa al item llamado todos
  #4 (permalink)  
Antiguo 25/01/2008, 11:38
Avatar de cy5
cy5
 
Fecha de Ingreso: diciembre-2007
Ubicación: Panama
Mensajes: 157
Antigüedad: 16 años, 4 meses
Puntos: 0
Pregunta Re: Problemas con postback dropdownlist

intentando aplicar lo mismo que en mi primer dropdown

Código:
ar.selectedindex = request.Form("ar") - 1
al segundo drop down me di cuenta de algo.

Código:
cent.selectedindex = request.form("cent") -1
al ser dropdown la propiedad selectedindex comienza a contar de 0 o sea que si mi dropdown despliega 31 elementos el selecteditem contara de 0 a 30 si dejo mi segundo dropdown como aparece igualando el valor del requestform a la seleccion me manda error y es por que el request esta tomando en cuenta los valores de una columna llamada indice el cual va enumerada de 80 a 170 por cuestiones de relaciones con otra tabla. al trata de igualar es logico el error por que estoy desplegando 31 registro y el indice tiene un valor supongamos de 140 ese valor no existe en el selectedindex.
Eso no pasa en el primer dropdown ya que el valor de su columna indice va enumerada de 1 a 9 y cuando el dropdown despliega lo hace con 10 valores por eso la resta de 1.

como podria hacer para por ejemplo igualar el valor del selected index al de la columna valor
  #5 (permalink)  
Antiguo 28/01/2008, 06:38
Avatar de Javier Santamaria  
Fecha de Ingreso: julio-2007
Mensajes: 296
Antigüedad: 16 años, 9 meses
Puntos: 1
Re: Problemas con postback dropdownlist

Eso no lo puedes hacer, pero puedes hacer esto:

Código:
cent.selectedvalue = request.form("cent") -1
Suerte
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 07:13.