JavaScrip não funciona com o AJAX (ASP Net) 1


Se você já utilizou os componentes AJAX da Microsoft, já deve ter tido esse mesmo problema. Quando você utiliza o UpdatePanel por exemplo, como tudo na página é atualizado de forma dinâmica (sem refresh), o ClientScript perde a sua funcionalidade pois depende de um PostBack inteiro da página para que assim execute os scripts. Pesquisando um pouco, encontrei a solução: a classe ScriptManager. A forma de utilização da classe é praticamente a mesma no ClientScript, veja:

Registrando um script sem o AJAX com o ClientScript.

ClientScript.RegisterClientScriptBlock(
   type, key, script, addScriptTags);

Ex.:

Page.ClientScript.RegisterStartupScript(
   Page.GetType(), "Alert", "alert('Olá Mundo')", true);

Registrando o script com AJAX com o ScriptManager

ScriptManager.RegisterStartupScript(
   control, type, key, script, addScriptTags);

Ex.:

ScriptManager.RegisterStartupScript(
   Page, Page.GetType(), "Alert", "alert('Olá Mundo')", true);

A classe ScriptManager está no namespace System.Web.UI, mas é preciso acrescentar  uma referência à dll System.Web.Extensions.dll

Related Posts Plugin for WordPress, Blogger...