Como llamar a métodos del code beside del ASPX con Js

Filed Under (.Net) by admin on 12-05-2010

Tagged Under : , , ,

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)

ASP.NET AJAX UpdatePanel ScriptManager – Dirigir el Foco hacia un Control

Filed Under (.Net) by admin on 27-04-2010

Tagged Under : , , , ,

Tradicionalmente cuando queremos dirigir el foco hacia un control hacemos esto:

Control.focus();

PERO si trabajamos con ASP.NET AJAX con un ScriptManager y un UpdatePanel al hacer postback asincrono el UpdatePanel , pierde el foco, para que esto no ocurra insertamos esta linea de codigo para lograr tener el foco donde queramos.

ScriptManager scriptManager = ScriptManager.GetCurrent(this.Page);

scriptManager.SetFocus(CONTROL);

CONTROL = Textbox(Caja de Texto)

Espero los haya ayudado , suerte con sus desarrollos.

PS: el metodo.SetFocus(CONTROL) , tiene como paramentro cualquier tipo de CONTROL ASP.NET asi que podemos usar cualquier CONTROL