ASP.NET - como llamar un javascript desde c sharp

   
Vista:

como llamar un javascript desde c sharp

Publicado por edgar (5 intervenciones) el 16/06/2008 21:12:09
Tengo una aplicacion en ASP y la utilizo con c sharp.

Lo que hago es hacer consultas a una base de datos, y pues presento resultados, totales y todo en un gridview, y los grafico.

el detalle es que para graficar utilizo librerias de flash.
esa la llamo desde el codigo en asp con este script

<script type="text/javascript" >
var so = new SWFObject("charts.swf?library_path=charts_library&xml_source=grafica.xml", "swf", "630", "400", "8", "#628286");
so.write("chart_");
</script>

la primera vez que muestro la grafica me sale correctamente, pero despues ya con cambios durante el tiempo de ejecucion, ya no me muestra los nuevos cambios.

pero durante el proceso hago modificaciones en el archivo, y todo desde c sharp.
y no se como hacer que se actualize la lectura y me aparesca en la pagina, e checado el archivo y si se modifica, pero me sigue mostrando el archivo en la pagina como estaba originalmente.

lo unico que se me ha ocurrido es llamarlo de nuevo, y pues no se como llamar el script desde la parte de c sharp.

Alguna sugerencia.. ???

o alguna otra forma de poder hacerlo??
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:como llamar un javascript desde c sharp

Publicado por Yamil Bracho (1109 intervenciones) el 16/06/2008 22:08:36
Puedes asignarlo al click de un boton, por ejemplo :

<script language="javascript" type="text/javascript">
function doFlash()
{
var so = new SWFObject("charts.swf?library_path=charts_library&xml_source=grafica.xml", "swf", "630", "400", "8", "#628286");
so.write("chart_");
}
</script>

En C# en tu Page_load colocas

botonOk.Attributes.Add("OnClick", "javascript:doFlash();");

Si estas usando .NET 2.0 o superior tienes ClientClick

Chequea http://msdn.microsoft.com/en-us/library/aa479390.aspx para mas informacion
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:como llamar un javascript desde c sharp

Publicado por edgar (5 intervenciones) el 17/06/2008 18:22:31
Muchas gracias amigo, por contestar.

creo que esta funcionando pero no logro que me muestre el resultado.. algo estoy haciendo mal, al parecer.

para colocar la grafica en alguna posicion en la pagina uso esto

<div id="chart_"> </div>

donde coloco eso es donde sale la grafica, y eso es lo que llama al script

<script id="java" language="javascript" type="text/javascript">

var so = new SWFObject("charts.swf?library_path=charts_library&xml_source=grafica.xml", "swf", "630", "400", "8", "#628286");
}
so.write("chart_");
</script>

----------
pero si lo pongo como me has mencionado
------------
<script id="java" language="javascript" type="text/javascript">
function doFlash()
{
var so = new SWFObject("charts.swf?library_path=charts_library&xml_source=grafica.xml", "swf", "630", "400", "8", "#628286");
}
so.write("chart_");
</script>

y ademas le agrego al boton el atributo

Button1.Attributes.Add("OnClick", "javascript:doFlash();");

tengo la impresion de que si lo hace, pero al estar el script dentro de una funcion con esto <div id="chart_"> </div> ya no me lo despliega es como si no entrara a la funcion.

asi que no me lo puede mostrar :S

sera que debo modificar esto <div id="chart_"> </div> para llamar a la funcion o algo asi ??

gracias por las respuestas
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:como llamar un javascript desde c sharp

Publicado por Yamil Bracho (1109 intervenciones) el 17/06/2008 19:26:35
Puedes ver si lo esta ejecutando simplemente colocando un alert en la funcion. Por ejemplo :

function doFlash()
{
alert("en doFlash()");
var so = new SWFObject("charts.swf?library_path=charts_library&xml_source=grafica.xml", "swf", "630", "400", "8", "#628286");
}
so.write("chart_");
</script>

El div lo puedes poner visible usando
document.getElementById("Tudiv").style.dipslay = 'block'
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:como llamar un javascript desde c sharp

Publicado por edgar (5 intervenciones) el 19/06/2008 19:04:19
Gracias amigo por toda la ayuda =]

ya encontre la solucion, estas graficas manejan un archivo xml, que es de donde se obtienen los datos para un objeto flash que es el que genera las graficas.
lo que me pasaba es que al volver a modificar el archivo la grafica me seguia apareciendo la misma, lo que pasa segun lo que vi era que se quedaba en el cache.

El remedio era darle un id unico esta linea
%3FuniqueID%3D0."+ rand_no +"+"+ rand_no +"20"

le puse la variable rand_no, que se fuera modificando, para que a la hora de volver a necesitarla no volviera a salir la grafica anterior y me funciono perfecto.

gracias por todo.

<script id="Script1" language="javascript" type="text/javascript">
var rand_no = Math.ceil(100000000*Math.random());

var so = new SWFObject("charts.swf? library_path=charts_library&xml_source=grafica.xml%3FuniqueID%3D0."+ rand_no +"+"+ rand_no +"20", "swf", "630", "400", "8", "#628286");
so.write("chart");

</script>

Aqui les dejo la pagina , si alguien desea trabajar con este tipo de graficas, de paso si les pasa lo mismo ya tiene el remedio xD. saludos

http://www.maani.us/xml_charts/index.php?menu=Gallery&submenu=Composite
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar