Asp.net Internet Explorer 8中的ScriptManager.RegisterClientScriptBlock和jQuery出现问题
我想使用jgrowlpluginforjquery()在页面上显示一些消息。为此,我调用ScriptManager.RegisterClientScriptBlock方法,如下所示:Asp.net Internet Explorer 8中的ScriptManager.RegisterClientScriptBlock和jQuery出现问题,asp.net,jquery,plugins,scriptmanager,registerclientscriptblock,Asp.net,Jquery,Plugins,Scriptmanager,Registerclientscriptblock,我想使用jgrowlpluginforjquery()在页面上显示一些消息。为此,我调用ScriptManager.RegisterClientScriptBlock方法,如下所示: ScriptManager.RegisterClientScriptBlock(this, typeof(Page), Guid.NewGuid().ToString(), "$.jGrowl('" + message + "');", true); 该代码在Firefox/Chrome/Safari中运行
ScriptManager.RegisterClientScriptBlock(this, typeof(Page), Guid.NewGuid().ToString(),
"$.jGrowl('" + message + "');", true);
该代码在Firefox/Chrome/Safari中运行得非常完美。但是在InternetExplorer中,我没有看到通知,也没有收到任何Javascript错误
我在Windows7下工作,我有InternetExplorer8测试版(8.0.7000.0版),在兼容模式下我也有同样的“bug”
如何解决此问题?之所以出现此问题,是因为IE8希望在修改DOM之前加载所有DOM元素。我能够复制您用jGrowl描述的问题 为了解决这个问题,我修改了您的脚本,以便在文档准备好后调用jGrowl。以下是更新的代码:
ScriptManager.RegisterClientScriptBlock(this, typeof(Page),
Guid.NewGuid().ToString(),
"$(function(){$.jGrowl('" + message + "');});", true);
将
添加到页面。如果没有错误,我认为您必须在客户端页面中添加此选项
<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>
var prm=Sys.WebForms.PageRequestManager.getInstance();
prm.添加_initializeRequest(initializeRequest);
prm.add_endRequest(endRequest);
函数初始化请求(发送方,参数){
}
函数EndRequest(发送方,参数){
}
有关更多详细信息,请参阅。谢谢您的回答。我试着帮你修好,但还是不行。可能是因为我在页面上有一个更新面板?我用一个更新面板测试了这段代码,它运行得很好。你真的复制/粘贴了上面的代码吗?浏览器中是否有javascript错误?如果执行此操作后仍有问题,则可能需要升级到IE8的最终版本,而不是Beta版。