Pergunta

Eu quero usar jGrowl plugin para jQuery ( http://stanlemon.net/projects/jgrowl .html # amostras ) para exibir algumas mensagens em uma página. Para fazer isso, eu chamo o método ScriptManager.RegisterClientScriptBlock assim:

ScriptManager.RegisterClientScriptBlock(this, typeof(Page), Guid.NewGuid().ToString(),
   "$.jGrowl('" + message + "');", true);

O código funciona perfeito no Firefox / Chrome / Safari. No entanto, no Internet Explorer não vejo a notificação e eu não obter qualquer erro Javascript.

Eu trabalho no Windows 7 e eu tenho o Internet Explorer 8 Beta (versão 8.0.7000.0) e eu tenho o mesmo "bug" no modo de compatibilidade.

Como posso resolver este problema?

Foi útil?

Solução

Esse problema ocorre porque IE8 espera que todos os elementos DOM para ser carregado antes de modificações no DOM podem ser feitas. Eu era capaz de duplicar o problema que você descreveu com jGrowl.

Para corrigi-lo, eu só modificou o seu script para que a chamada para jGrowl acontece uma vez que o documento está pronto. Aqui está o código atualizado:

ScriptManager.RegisterClientScriptBlock(this, typeof(Page), 
     Guid.NewGuid().ToString(),
     "$(function(){$.jGrowl('" + message + "');});", true);

Outras dicas

add <form runat="server" id="form1"> a página. Ele vai trabalhar ...

Se não é errado, eu acho que você tem que adicionar esta na página do lado do cliente.

<script language="javascript" type="text/javascript" id="forModalPopUp">
    var prm =  Sys.WebForms.PageRequestManager.getInstance();
    prm.add_initializeRequest(InitializeRequest);
    prm.add_endRequest(EndRequest);
    function InitializeRequest(sender, args) {
    }
    function EndRequest(sender, args) {
    }
</script>

Para obter mais detalhes, dê uma olhada este .

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top