Variables

¿buenas.qué tal?
Estoy haciendo un sitio web en ASP con VBSCRIPT y tengo un problema...
quiero hacer un bucle para hacer request a diferentes variables en las que solo varian la i y la f.el nombre de la variable es red<%=i%>con<%=f%> pero me da error.el bucle es el siguiente
<%nnodos=Request("nnodos")%>
<%for i= 1 to nnodos %>
<% for f= 1 to nnodos %>
<% if i=f then %>
<% f=f %>
<% else %>
<%red<%=i%>con<%=f%>= Request("red<%=i%>con<%=f%>")%>(esta es la linea que esta mal,la del request)
<% end if %>
<% next %>
<% next %>
¿Me podrías decir como variar la linea del request para que funcione?muchas gracias por la ayuda.un saludo

5 Respuestas

Respuesta
1
No puedes hacer lo que intentas porque no puedes incrustar código ASP dentro de código ASP.
La solución pasa por utilizar una matriz cuadrada de tantos elementos como tenga "nnodos". Hay que colocar los valores dentro de la matriz con un bucle.
Otro consejo muy bueno es que no utilices Request("nnodos"), utiliza Request. QueryString("nnodos") o Request. Form("nnodos") dependiendo de si pasas los parametros por Get o Post.
Este es el código correcto.
<%
option explicit
Dim redcon()
dim i,f,nnodos
nnodos=cint(Request("nnodos"))
redim redcon(nnodos,nnodos)
for i= 1 to nnodos
for f= 1 to nnodos
if i<>f then redcon(i,f) = request("red" & i & "con" & f)
next
next
%>
Respuesta
1
Que tal un ejemplo de como recorrer el request seria de la siguiente manera:
For Each n In Request.Form
nnodos = n
Request.Form(n) & chr(13)
Next
Espero te sirva acuérdate que como en visual el request pertenece al objeto form obviamente tus objetos en html deben estar dentro de un form
Saludos y espero te sirva, de cualquier forma no dudes en contactarme
Respuesta
1
Primero, el request esta mal escrito
No es:
Request("red<%=i%>con<%=f%>")%
sino:
Request("red" & i & "con" & f)
yo escribiria el codigo de otra forma
asi:
<%
nnodos=Request("nnodos")
for i= 1 to nnodos
for f= 1 to nnodos
if i=f then
f=f
else
response.write "red" & i & "con" & f & " = " & Request("red" & i & "con" & f)
end if
next
next
%>
Buenas.la respuesta que me has dado va bien encaminada pero tengo un problema.no la quiero escribir en pantalla con el response. write sino que quiero guardar el valor de la variable ("red" & i & "con" & f)recogida con el request en una variable con ese nombre para utilizarla posteriormente. ¿Cómo tendría que variar la linea del request para lograrlo? Muchas gracias
que ue tal
El request seria tal como te lo envíe:
Request("red" & i & "con" & f)
Hasta ahí estamos ...
Ahora .. el problema es crear una variable que se llame:
"red" & i & "con" & f
yo crearia un arreglo de dos dimensiones ...
redcon(i,f) = Request("red" & i & "con" & f)
Más allá de esto, no se me ocurrir hacer otra cosa
Respuesta
1
Es que no puedes hacer esto en asp
<%red<%=i%>con<%=f%>= Request("red<%=i%>con<%=f%>")%>
En realidad no entiendo mucho que hace tu programa, pero si tiene campos que llegas a esta página con el nombre nnods y red[valor]con[valor]
Si va a funcionar.
Si deseas imprimirlo seria
red<%=i%>con<%=f%>= Request("red<%=i%>con<%=f%>")
Sin abrir (<%) ni cerrar (%>) al principio y al final, ya que si no considera que toda la linea esta escrito en VBScript.
Respuesta
1
Prueba algo así, pero no estoy seguro .
<%
"red"&i&"con"&f&=Request("red&i&"con"&f&")"
%>

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas