Ver Mensaje Individual
  #5 (permalink)  
Antiguo 24/09/2008, 13:54
jvargas
 
Fecha de Ingreso: junio-2008
Ubicación: Ensenada, Baja California, México
Mensajes: 28
Antigüedad: 15 años, 9 meses
Puntos: 1
Respuesta: Se puede llamar a una funcion de C# desde javascript?

Si estás usando ASP.NET AJAX puedes crear métodos estáticos en la clase de la página y ponerles el atributo de [WebMethod] y con eso los podrías usar desde javascript. Por ejemplo:

pagina.aspx.cs

[WebMethod]
public static ClosePage()
{
...
}

y en tu pagina.aspx tendrías que hacer lo siguiente:

<script type="text/javascript">
function closePage() {
PageMethods.ClosePage(OnSucceeded, OnFailed);
}

function OnSucceeded() {
alert(':D');
}

function OnFailed() {
alert(':(');
}
</script>

<body onunload="closePage();">

Como puedes ver, cuando se llaman los WebMethods desde javascript reciben como parámetros dos funciones que se mandan llamar cuando se termina de ejecutar el webmethod, la primera es cuando todo funciona sin problemas y la segunda es cuando se encuentra algún error.

Ésto me lo fusilé vilmente de las siguientes páginas:

http://encosia.com/2007/07/11/why-aspnet-ajax-updatepanels-are-dangerous/
http://encosia.com/2008/04/16/why-do-aspnet-ajax-page-methods-have-to-be-static/
http://asp.net/ajax/documentation/live/tutorials/ExposingWebServicesToAJAXTutorial.aspx

La primera es de la que saqué más información, pero en las otras 2 también encuentras cosas interesantes que te permiten saber como funcionan los WebMethods en las páginas.

Saludos.

P.D. Todavía soy un spammer :( no me permiten poner links.