jueves, 11 de octubre de 2012

Como ejecutar un metodo (code behind) en JavaScript

Para poder ejecutar un metodo en el codigo c# (code behind) 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


1) EventTarget: contiene el identificador del control que hace el postback


2) 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


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


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




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

  el siguiente codigo en el evento Page_Load:

if (Request.Form["__EVENTTARGET"] == "Boton1")
{
    //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.