8

我想使用 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),并且在兼容模式下我有相同的“错误”。

我怎么解决这个问题?

4

3 回答 3

12

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

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

ScriptManager.RegisterClientScriptBlock(this, typeof(Page), 
     Guid.NewGuid().ToString(),
     "$(function(){$.jGrowl('" + message + "');});", true);
于 2009-05-10T04:56:19.237 回答
2

添加<form runat="server" id="form1">到页面。它会工作...

于 2011-01-04T08:41:11.770 回答
0

如果没有错,我认为您必须在客户端页面中添加此内容。

<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>

有关更多详细信息,请查看

于 2012-05-31T03:16:49.857 回答