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

Pasar Array desde ASP.NET a una funcion JavaScri

Estas en el tema de Pasar Array desde ASP.NET a una funcion JavaScri en el foro de ASPX (.net) en Foros del Web. Hola Tengo un problema que necesito resolver urgentemente les agradezco que me colaboren. Tengo un Array en mi codigo de Vb en mi pagina aspx.vb ...
  #1 (permalink)  
Antiguo 24/09/2007, 18:28
 
Fecha de Ingreso: junio-2007
Mensajes: 51
Antigüedad: 16 años, 10 meses
Puntos: 0
Pasar Array desde ASP.NET a una funcion JavaScri

Hola

Tengo un problema que necesito resolver urgentemente les agradezco que me colaboren.
Tengo un Array en mi codigo de Vb en mi pagina aspx.vb ahora necesito pasar este Array a una funcion Java Script en la misma pagina y alli empezar a recorrer el Array para obtener cada uno de los valores y poder hacer una variacion de imagenes espero haberme echo entender.
ya intente esto pero en al funcion java script lo imprimo y me sale como indefinido
Page.RegisterStartupScript("a", "<script>SetTimer('" & vector2.ToString & "')</script>")

Muchas gracias y un saludo,
  #2 (permalink)  
Antiguo 25/09/2007, 06:14
Avatar de mdavila  
Fecha de Ingreso: julio-2007
Ubicación: Montevideo (Uruguay)
Mensajes: 919
Antigüedad: 16 años, 9 meses
Puntos: 13
Re: Pasar Array desde ASP.NET a una funcion JavaScri

Hola a ver si te puedo dar una mano.....
1) en lugar de usar page.register.... usa ClientScript.RegisterStartupScript(page.gettype(), TuScript)

2) No tengo claro si podes pasar un array de vb a script asi nomas, supongo que tenes que declarar una variable array en el script..... Ej.

dim TuScript as string

TuScript = "<script> function SetTimer(){ var matriz = new array(); matriz[1] = new array();"

Luego haces un for con el array de vb y lo cargas en el string
For i = 0 To array.Length
TuScript = TuScript + "matriz[1][i]="TuValor";"
Next

TuScript = TuScript + "}</script>"

Espero te sirva de ayuda, saludos y contanos si pudiste.
  #3 (permalink)  
Antiguo 25/09/2007, 10:20
 
Fecha de Ingreso: junio-2007
Mensajes: 51
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: Pasar Array desde ASP.NET a una funcion JavaScri

Hola

Muchas gracias por responder

Una pregunta mas, como debo recibir el array en la funcion Java Script?

Gracias

Saludos,
  #4 (permalink)  
Antiguo 25/09/2007, 10:26
Avatar de mdavila  
Fecha de Ingreso: julio-2007
Ubicación: Montevideo (Uruguay)
Mensajes: 919
Antigüedad: 16 años, 9 meses
Puntos: 13
Re: Pasar Array desde ASP.NET a una funcion JavaScri

El array ya lo tenes cargado en la funcion al crearla, tenes que tener cuidado porque cada postback que realizes, vas a tener que escribir el script ok, pero si queres podes llamar a la funcion que el array ya esta cargado....
Supongo que era esa tu pregunta.
  #5 (permalink)  
Antiguo 28/09/2007, 15:17
 
Fecha de Ingreso: junio-2007
Mensajes: 51
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: Pasar Array desde ASP.NET a una funcion JavaScri

Hola
Nome ha funciona ta muestro el codigo completo para darte bien la idea de lo estoy hacien la finalidad de lo que hago es para rotar en mi pagina unas imagenes es decir cambiarlas cada cierto tiempo

Primero obtengo las rutas de donde esta las imagenes de la base de datos

Private Sub LOADIMAGE()
Dim CIMAGE As String = ""
Dim V_CMDDATE As New SqlCommand
Dim V_DSDATE As New DataSet
Session("V_SCPS") = "A9999"
V_CMDDATE.CommandText = "UD_SP_MT_LOADIMAGE"
V_CMDDATE.CommandType = CommandType.StoredProcedure
V_CMDDATE.Connection = conexion

Dim V_DADATE As New SqlDataAdapter
V_DADATE.SelectCommand = V_CMDDATE

Dim PI_CPS As New SqlParameter("@PI_CPS", SqlDbType.VarChar)
PI_CPS.Direction = ParameterDirection.Input
V_CMDDATE.Parameters.Add(PI_CPS)
V_CMDDATE.Parameters("@PI_CPS").Value = Session("V_SCPS").ToString()

conexion.Open()
V_DADATE.Fill(V_DSDATE, "ROWDATE")
V_CMDDATE.ExecuteScalar()
conexion.Close()

ahora voya llenar el vector

Dim TuScript As String

TuScript = "<script> function SetTimer(){ var matriz = new array(); matriz[1] = new array();"

For i As Integer = 0 To V_DSDATE.Tables(0).Rows.Count - 1
TuScript = TuScript & "matriz[1][" & i & "] = " & PATH & ";"
Next
TuScript = TuScript + "}</script>"
Page.ClientScript.RegisterStartupScript(Page.GetTy pe(), "ProposalPopup", TuScript, False)
ahora esta funcion debe llemar a otra dentro del java script lo que hagoe es otra funcion dentro del codigo aspx

esto produce le retardeo en le cambio de imagens
function SetTimer(Matriz[1]) {
var Timer = setInterval("Animate()", 10000);

aqui va el for par cambiar de imagen
function Animate()
{
Index1 ++;
if (Index1 > 6) {
Index1 = 0;
}
document.images['IM'].src = Matriz[1] [index1];
}

}

gracias
  #6 (permalink)  
Antiguo 29/09/2007, 21:29
 
Fecha de Ingreso: abril-2006
Mensajes: 40
Antigüedad: 18 años, 1 mes
Puntos: 0
Re: Pasar Array desde ASP.NET a una funcion JavaScri

Cita:
Iniciado por YTOTAL Ver Mensaje
Hola

Tengo un problema que necesito resolver urgentemente les agradezco que me colaboren.
Tengo un Array en mi codigo de Vb en mi pagina aspx.vb ahora necesito pasar este Array a una funcion Java Script en la misma pagina y alli empezar a recorrer el Array para obtener cada uno de los valores y poder hacer una variacion de imagenes espero haberme echo entender.
ya intente esto pero en al funcion java script lo imprimo y me sale como indefinido
Page.RegisterStartupScript("a", "<script>SetTimer('" & vector2.ToString & "')</script>")

Muchas gracias y un saludo,
¿dentro de que control vas a dejar tus imágenes?

si tienes el array (¿por qué un array? ¿ no sería mejor un IList?), pasalo a un dataset y luego el contenido del dataset lo ligas al control asp.
  #7 (permalink)  
Antiguo 01/10/2007, 07:37
 
Fecha de Ingreso: junio-2007
Mensajes: 51
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: Pasar Array desde ASP.NET a una funcion JavaScri

Hola

Las imagenes la obtego de la db y las paso a un array ahora el control IMAGE un html no entiendo para que pasarlas a un control?, necesito poder generar esto desde el javascript.

Gracias
  #8 (permalink)  
Antiguo 01/10/2007, 16:53
 
Fecha de Ingreso: junio-2007
Mensajes: 51
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: Pasar Array desde ASP.NET a una funcion JavaScri

HOLA
oye muchas gracias ya logre hacer lo que queria gracias por tu ayuda

Hola a todos y gracias por sus respuestas

Listo ya funciona perfecto utlice la funcion setTimeOut y en vez de mandar un array mando una cadana separada por comas y en la funcion java script le hago un split a la cadena y obtengo un array que contiene todas las rutas para variar las imagenes el codigo es el siguiente
y muchas gracias por su colaboracion
primero el codigo vb donde llamo la funcion y armo la cadena

For i As Integer = 0 To V_DSDATE.Tables(0).Rows.Count - 1
CIMAGE = V_DSDATE.Tables(0).Rows(i).Item("CFILE").ToString
Dim PATH As String = "C:/temp/Anuncios/" & CIMAGE & ""
cadena = RTrim(cadena) & "," & RTrim(PATH)
h = h + 1
Next

Script = "<script>SetTimer('" & cadena & "','" & h & "')</script>"
ClientScript.RegisterStartupScript(Page.GetType(), "", Script)

cadena es el string que se forma con las rutas que tiene un separdor que es una coma para poder luego armar el array y h es el tamaño del array
y esta es la funcion java script

<script type="text/javascript">
var Index1 = 1;
var index;
var incre;

var FILE=new Array();

function SetTimer(PATH,SIZE)
{
if (SIZE != 0) {
FILE=PATH.split(",");
index=length.FILE;
incre=SIZE
document.images['IM'].src = FILE[1];
var Timer = setInterval("Animate()", 5000);
}
else
{
document.images['IM'].src = 'IMAGE/logoamimado.GIF';
}
}

function Animate()
{

if (Index1 > incre) {
incre=Index1-1;
Index1 = 1;

}
document.images['IM'].src = FILE[Index1];
Index1 ++;
}
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:21.