Como llamar a métodos del code beside del ASPX con Js
1- creamos el metodo Js como normalmente lo hacemos. Ej: dimeHora()
2- lo asignamos a un evento de un boton (o de lo que sea) como normalmente hacemos … onclick=»dimeHora»
3- definimos en el code beside un metodo con y estatico (Shared)
Public Shared Function DameHora() As String
Return DateTime.Now.ToLongTimeString()
End Function
4- Para utilizarlo debemos activar la propiedad EnablePageMethods = True del ScriptManager(manejador de js de ASP.NET). Normalmente este se define en la MasterPage, pero sino se puede hacer un ScriptManager.GetCurrert()
5- Después para llamarlo solo tenemos que utilizar en el js el PageMethods:
PageMethods.DameHora()
Como quedaría el js:function dimeHora()
{
PageMethods.DameHora(finLlamada, gestorDeErrores)
}
// finLlamada y gestorDeErrores manejan los resultados si ha ido bien o mal, como ya hacemos
Y porque os envio esto?
– No hace falta crear un servicio
– Reduce la carga de servidor, mejora el UpdatePanel que envía toda la información en los autoposback asíncronos
– no hace autoposback
– trabajamos con datos devueltos del método que estamos acostumbrados a trabajar en js (hacer eval)