Internet Explorer 8中的ScriptManager.RegisterClientScriptBlock和jQuery问题

我想使用jQuery的jGrowl插件( http://stanlemon.net/projects/jgrowl.html#samples )在页面上显示一些消息。 为此,我调用ScriptManager.RegisterClientScriptBlock方法,如下所示:

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

该代码在Firefox / Chrome / Safari中非常完美。 但是在Internet Explorer中我没有看到通知,我没有收到任何Javascript错误。

我在Windows 7下工作,我有Internet Explorer 8 Beta(版本8.0.7000.0),我在兼容模式下有相同的“错误”。

我怎么解决这个问题?

出现此问题的原因是IE8期望在对DOM进行修改之前加载所有DOM元素。 我能够复制你用jGrowl描述的问题。

为了解决这个问题,我只修改了你的脚本,以便在文档准备好后调用jGrowl。 这是更新的代码:

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

到页面。 它会工作……

如果没有错,我认为你必须在客户端页面中添加它。

  

有关详细信息,请查看此内容 。