Ejecutar JavaScript desde C# en ASP.Net

Además de invocar desde el cliente también es posible ejecutar JavaScript desde C# en ASP.Net mediante el ScriptManager.

Ejecutar JavaScript desde C#

¿Cómo funciona?

Veamos cómo utilizar la clase ScriptManager de la librería System.Web.UI, debes agregar la referencia a tu página.

Con el código siguiente podemos ejecutar una función JavaScript desde C#.

string JavaScript = "MostrarMensaje();";
ScriptManager.RegisterStartupScript(this, this.GetType(), "script", javaScript, true);
  • En una cadena colocamos la función de invocación.
  • Con RegisterStartupScript ejecutamos las funciones js.

RegisterStartupScript es un método que se ejecuta al final de tu página, antes del cierre del form.

En ScriptManager tenemos otro método para la ejecución de JavaScript, RegisterClientScriptBlock.

Este método al contrario del anterior es ejecutado al iniciar el form, utiliza el siguiente código.

string JavaScript = "MostrarMensaje();";
ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "script", javaScript, true);

Utiliza el método necesario para ejecutar js de acuerdo con las necesidades de tu aplicación.

Te recomiendo no abusar en el uso esta función, ya que el rendimiento se ve reducido debido a las llamadas al servidor.

Utiliza eventos que se ejecuten directamente en el cliente para que tu aplicación sea más interactiva.

Podría interesarte Agregar y eliminar clases con Jquery  

3 Comments

  1. i need to return a url generated by google charts

      // script to create Google Chart, leaving it to the reader
      var chart = new google.charts.Bar(document.getElementById(“Piechart_Phone”));
      var imgURI_Phone = “”;
      // Wait for the chart to finish drawing before calling the getImageURI() method.
      google.visualization.events.addListener(chart, ‘ready’, function () {
      imgURI_Phone = chart.getImageURI();
      document.getElementById(”).value = imgURI_Phone;
      });
     
      chart.draw(data, options);
     

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *