Compartir a través de


Como ejecutar un metodo C# (code behind) en JavaScript (es-ES)

Descargar Codigo Fuente Aqui!!!

Para poder ejecutar un metodo en el codigo c# desde javascript nos vamos a
auxiliar de la funcion js que nos provee ASP.NET: __doPostBack().
Esta funcion toma dos argumentos:

  1. EventTarget

  2. eventArgument

  3. EventTarget: contiene el identificador del control que hace el postback

  4. eventArgument: contiene todos los datos adicionales asociados con el control.

sintaxis:__doPostBack(EventTarget, eventArgument)

Ejemplo:

Creamos un boton HTML y un control Button ASP.NET en el codigo ASP.NET

 <a id="Boton1" href="javascript:__doPostBack('Button2_Click','')">LinkButton</a>

<asp:Button ID="Button2" runat="server" onclick="Button2_Click" Text="Button" />

Con ambos codigos lograremos el mismo efecto, llamar al metodo: Button2_Click. Solo que uno es desde javascript y el otro desde asp.net

este boton va a llamar a la funcion javascript __doPostBack(). Luego en el codigo c# ponemos
 el siguiente codigo en el evento Page_Load:

 ClientScript.GetPostBackEventReference(this, string.Empty);//Esto es importante para hacer que el metodo "__doPostBack()"  funcione correctamente
if (Request.Form["__EVENTTARGET"] == "Button2_Click")
{
    //llamamos el metodo que queremos ejecutar, en este caso el evento onclick del boton Button2
    Button2_Click(this, new EventArgs());
}

En este caso llamamos al metodo del evento onclick del button2, pero podriamos haber llamado al
metodo que quisieramos.