ASP.NET中使用UpdatePanel时用Response输出出现错误的解决方法

时间:2022-01-01 00:59:26

asp.net中执行到Response.write("xx");之类语句或Microsoft JScript 运行时错误: Sys.WebForms.PageRequestManagerParserErrorException: 无法分析从服务器收到的消息。之所以出现此错误,常见的原因是: 在通过调用 Response.Write() 修改响应时,将启用响应筛选器、HttpModule 或服务器跟踪。  
  在放置了UpdatePanel时,先在</UpdatePanel>前加入
    <Triggers><asp:AsyncPostBackTrigger ControlID="Timer1"/></Triggers>试试,如果是设置了PostBackTrigger 也无法Response.Write();正常情况下,微软推荐我们是这么用的:
                string scripts = "<script>alert('弹出提示框!');</script>";
                ClientScriptManager csm = Page.ClientScript;
                csm.RegisterClientScriptBlock(this.GetType(), "sss", scripts, false);
                //csm.RegisterStartupScript(this.GetType(),"sss",scripts,false);
如果还不行你就用专门针对UpdatePanel控件的:
ScriptManager.RegisterStartupScript(this.UpdatePanel1, this.GetType(), "updateScript", "alert('未登录!');", true);
你只需将alert('未登录!');改成你要输出的脚本即可!

参考:http://wangyali90516.blog.163.com/blog/static/117205101201083025730557/