ClientScript.RegisterStartupScript e eu estava com preguiça de ficar fazendo isso toda hora.Então resolvi criar uma função na minha classe
Util para que ficasse mais fácil a chamada desse método.Então fiz uma função
Util.ShowMessage(string mensagem) para economizar dedo. hahahaPorém eu me deparei com um impecílio, o
Page, que é a classe pai do ClientScript, não está acessível de um método estático em uma classe separada da sua página aspx.Então para isso devemos recuperar a instância atual da
Page para podermos registrar um script.Para isso faça o seguinte:
Page p = HttpContext.Current.Handler as Page;O
HttpContext.Handler é a tratativa da página sendo executada no momento. Então você pode recuperá-la convertendo-a para Page.Daí é só fazer a sua função!
A minha ficou assim:
public static void ShowMessage(string mensagem){ using (Page p = HttpContext.Current.Handler as Page) { Random r = new Random(); string script = String.Format("alert('{0}');", mensagem); if (!p.ClientScript.IsStartupScriptRegistered(r.ToString())) { p.ClientScript.RegisterStartupScript(typeof(HttpContext), r.Next().ToString(), script, true); } }}Espero que tenham gostado!
Até qualquer hora!
Legal Murilo, essa rotina ajuda a economizar muitas linhas :)
ResponderExcluir^.^
ResponderExcluir