14.04.2013 Views

Tema AJAX

Tema AJAX

Tema AJAX

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Programación avanzada en .NET con C#<br />

Servicio de Informática<br />

Uso de <strong>AJAX</strong> Avanzado 3<br />

16<br />

<strong>AJAX</strong><br />

Si en una página normal quisiéramos inyectar algo de código javascript que se ejecutar al<br />

arrancar la página usaríamos:<br />

protected void Page_Load(object sender, EventArgs e)<br />

{<br />

string _script = "";<br />

_script += "alert('Ejecutado');";<br />

Page.ClientScript.RegisterStartupScript(<br />

this.GetType(), "myscript", _script, true);<br />

}<br />

Si usamos <strong>AJAX</strong> este código sólo se ejecutaría una vez. Pero ¿y si quisiéramos ejecutar una<br />

función de javascript cada vez se ejecutara un <strong>AJAX</strong>?<br />

Esta función se ejecutará al cargar la página y cada vez que usemos <strong>AJAX</strong>:<br />

protected void Page_Load(object sender, EventArgs e)<br />

{<br />

string _script = "";<br />

_script += "alert('Ejecutado');";<br />

ScriptManager.RegisterStartupScript(<br />

this,this.GetType(),"myscript",_script,true);<br />

}<br />

Esta función se ejecutará SOLO al usar <strong>AJAX</strong>:<br />

protected void Page_Load(object sender, EventArgs e)<br />

{<br />

if (Page.IsPostBack)<br />

{<br />

string _script = "";<br />

_script += "$get('Resultado').innerHTML += 'Ejecutado';";<br />

ScriptManager.RegisterStartupScript(<br />

this, this.GetType(), "myscript", _script, true);<br />

}<br />

}<br />

Ejemplo 5 (actualizar un control fuera del UpdatePanel):<br />

Dada esta página:<br />

3 http://msdn.microsoft.com/es-es/magazine/cc163354.aspx

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!