Foros del Web » Programando para Internet » ASP Clásico »

Controles dinamicos

Estas en el tema de Controles dinamicos en el foro de ASP Clásico en Foros del Web. Hola a todos: Tengo una serie de controles que se muestran en una lista de checkboxes, todos con el mismo nombre. Necesito recoger esos parametros ...
  #1 (permalink)  
Antiguo 19/02/2004, 07:10
 
Fecha de Ingreso: julio-2003
Mensajes: 132
Antigüedad: 20 años, 10 meses
Puntos: 0
Controles dinamicos

Hola a todos:
Tengo una serie de controles que se muestran en una lista de checkboxes, todos con el mismo nombre. Necesito recoger esos parametros y recorrerlos en un ASP, pero si asigno :

r=request("nombre")

r no es un array, como yo esperaba, asi que no puedo recorrermelo.

Alguien sabe como puedo hacerlo?

Gracias de antemano
  #2 (permalink)  
Antiguo 19/02/2004, 10:23
 
Fecha de Ingreso: enero-2004
Mensajes: 154
Antigüedad: 20 años, 4 meses
Puntos: 0
No entiendo muy bien el planteamiento, pero sé como pasar de una cadena a un array.
En el caso en que de una página a otra pases como nombre de parámetro el mismo nombre , todos los valores del mismo te los mete en una cadena de la siguiente forma:
si tenemos 3 campos con nombre pepe con valores 1, 2 y 3 al recoger el parámetro en la página siguiente obtenemos esto
dato=request("pepe")
response.write(dato)---> 1,2,3
Si utilizas la función split te creará un array con esos valores siempre y cuando no tengas comas por enmedio
Dim array[10]
array=split(dato,",")

Ese array es el que querias obtener.

Por otro lado el uso de campos con el mismo nombre no es muy correcto en ASP. Siempre puedes diferenciarlos añadiendole el número de campo:
pepe1,pepe2,pepe3

puedes recoger los datos de la siguiente forma:
while i<=3
array[i]=request("pepe"&i)
wend

Que tengas suerte.

Saludos!!!!
  #3 (permalink)  
Antiguo 19/02/2004, 11:33
 
Fecha de Ingreso: marzo-2003
Ubicación: onde toy?
Mensajes: 1.437
Antigüedad: 21 años, 3 meses
Puntos: 9
recogelos asi..haber que tal

nombre = request.form("nombre")
arrnombre = split(nombre,",")
for i = 0 to Ubound(arrnombre)
c = trim(arrnombre(i))
arrnombre(i)= c
sql="Insert into blah (blah) values ( '"& arrnombre(i) &"' )"
conexion.Execute(sql)

Next
__________________
Buena Vida...
Francisco
  #4 (permalink)  
Antiguo 22/02/2004, 10:01
 
Fecha de Ingreso: julio-2003
Mensajes: 132
Antigüedad: 20 años, 10 meses
Puntos: 0
Exactamente

Hola a todos:

Efectivamente vuestras respuestas son correctas. Yo vengo de otros servidores web y la forma en la que el IIS recoge esos parametros de igual nombre no me parece la más cómoda (Es el IIS el responsable). En otros servidores este te devuelve un array directamente.

Por otra parte:

"Por otro lado el uso de campos con el mismo nombre no es muy correcto en ASP"

Creo que esta técnica es bastante más correcta (más eficiente y limpia) que la que tu propones, pero estoy deseando oir tus razones para hacer esa afirmación. La forma que yo comento hace que todos los valores viajen dentro de una única variable POST, por lo que se optimizan los recursos de servidor además de mantenerlas agrupadas dentro de un mismo unidad lógica

Un saludo
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 00:43.