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:
EventTarget
eventArgument
EventTarget: contiene el identificador del control que hace el postback
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.