Ajax加载下在进度,消息: Sys.WebForms.PageRequestManagerParserErrorException: 无法分析从服务器收到的消

useruse 2010-05-20 12:42:09

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta content="IE=EmulateIE7" http-equiv="X-UA-Compatible">
<title>Untitled Page</title>
</head>
<body>
<form id="MyForm" runat="server"><div id="Main">

<div id="NowMenu">
<div id="NowButton">
<asp:ScriptManager ID="ScriptManager1" runat="server" />
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Loading" />
<asp:Button ID="Button2" runat="server" OnClick="Button2_Click" Text="Loading" />
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="Button1" EventName="Click" />
<asp:AsyncPostBackTrigger ControlID="Button2" EventName="Click" />
</Triggers>
</asp:UpdatePanel>
</div>
</div>
<asp:UpdateProgress ID="UpdateProgress2" runat="server" AssociatedUpdatePanelID="UpdatePanel1">
<ProgressTemplate>
<div id="loader_container">
<div id="loader">
<div style="text-align:center;"><img alt="loading" style=" vertical-align:middle; margin-right:8px;" src="/Template/Image/loading.gif" />数据载入中,请稍后……</div>
<div id="loader_bg"><div id="progress"></div></div>
</div>
</div>
</ProgressTemplate>
</asp:UpdateProgress>

</div>
</form>
</body>
</html>



protected void Button1_Click(object sender, EventArgs e)
{
System.Threading.Thread.Sleep(3000);
}

public void Button2_Click(object sender, EventArgs e)
{
string Sql = " Where [StatUs]=0 And [State] !='D' And [Position] = 'C' ";
GetContent(Sql, DateTime.Now.AddDays(-1).ToString("yyyyMMdd"));
}

/// <summary>
/// 下载文件,文件名重写,以数据流形式写入
/// </summary>
/// <param name="FileName">文件名</param>
/// <param name="FileContent">文件内容</param>
/// <returns>无</returns>
public static void DownloadExport(string FileName, string FileContent)
{
byte[] txtcontent = Encoding.Default.GetBytes(FileContent);
try
{
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.Charset = "utf-8";
HttpContext.Current.Response.Buffer = false;
HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.UTF8;
HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(System.Text.Encoding.UTF8.GetBytes(FileName)));
HttpContext.Current.Response.AppendHeader("Content-Length", txtcontent.Length.ToString());
HttpContext.Current.Response.ContentType = "application/octet-stream";
HttpContext.Current.Response.BinaryWrite(txtcontent);
HttpContext.Current.Response.Flush();
HttpContext.Current.Response.Close();
HttpContext.Current.Response.End();
}
catch (Exception ex)
{
throw (ex);
}
finally
{
txtcontent.Clone();
}
}


点击按钮会出现加载数据的层,可是结束后报错:
网页错误详细信息

消息: Sys.WebForms.PageRequestManagerParserErrorException: 无法分析从服务器收到的消息。之所以出现此错误,常见的原因是: 在通过调用 Response.Write() 修改响应时,将启用响应筛选器、HttpModule 或服务器跟踪。
详细信息: 分析附近的“====================”时出错。
行: 4723
字符: 21
代码: 0
URI: http://172.18.254.125:808/ScriptResource.axd?d=

请高手指点如何解决!!
...全文
2128 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
chen3329505 2010-11-19
  • 打赏
  • 举报
回复
Eilon Lipton 有篇文章提供了很詳細的說明,包括該錯誤的意義、發生原因、以及解決方法:Sys.WebForms.PageRequestManagerParserErrorException - what it is and how to avoid it。

常見的原因包括:


?在程式中呼叫 Response.Write 輸出資料至用戶端頁面。這會導致 UpdatePanel 無法對這些資料編碼。


?網站有使用 response filter。
?網站有使用 HTTP modules。
?開啟網頁的 trace 功能。
?在程式中呼叫 Server.Transfer。
z22708387 2010-11-19
  • 打赏
  • 举报
回复
<asp:ScriptManager ID="ScriptManager1" runat="server" />


放到body内 from外。
langyinghong 2010-08-06
  • 打赏
  • 举报
回复
这个是httpModule和问题,你要在配置文件的httpModule里设置
useruse 2010-05-24
  • 打赏
  • 举报
回复
有没有好的办法实现所说的需求呢?
zhouminjob120 2010-05-20
  • 打赏
  • 举报
回复
你这页面顶上好像少了一行
例如
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="kzgtsmskzkstjjbf.aspx.cs" Inherits="zj.murp.kzgtsmskzkstjjbf" %>
Adechen 2010-05-20
  • 打赏
  • 举报
回复
试试楼上的
useruse 2010-05-20
  • 打赏
  • 举报
回复
<asp:PostBackTrigger ControlID="Button1" />
单纯用这个可以下载,可是实现不了Loading的效果
useruse 2010-05-20
  • 打赏
  • 举报
回复
PostBackTrigger 没有EventName="Click"
系统会报错!
antiking 2010-05-20
  • 打赏
  • 举报
回复
<asp:AsyncPostBackTrigger ControlID="Button1" EventName="Click" />
==> <asp:PostBackTrigger ControlID="Button1" EventName="Click" />
antiking 2010-05-20
  • 打赏
  • 举报
回复
查询的时候是有的吧,下载是不会有的。
useruse 2010-05-20
  • 打赏
  • 举报
回复
顶上去
useruse 2010-05-20
  • 打赏
  • 举报
回复
<asp:AsyncPostBackTrigger ControlID="Button1" EventName="Click" />
用这个可是现实loading效果,但是不能下载文件,抱错: 消息: Sys.WebForms.PageRequestManagerParserErrorException: 无法分析从服务器收到的消息。之所以出现此错误,常见的原因是: 在通过调用 Response.Write() 修改响应时,将启用响应筛选器、HttpModule 或服务器跟踪。

<asp:PostBackTrigger ControlID="Button1" />
用这个可以实现下载,但是不载入loading进度
zhouminjob120 2010-05-20
  • 打赏
  • 举报
回复
。。哦哦
useruse 2010-05-20
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 zhouminjob120 的回复:]
你这页面顶上好像少了一行
例如
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="kzgtsmskzkstjjbf.aspx.cs" Inherits="zj.murp.kzgtsmskzkstjjbf" %>
[/Quote]

这个是有的

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Test.aspx.cs" Inherits="Web.Test" %>
useruse 2010-05-20
  • 打赏
  • 举报
回复
楼上的不可以

访问路径:/Test.aspx
System.Web thrown System.Web.HttpParseException
类型“System.Web.UI.PostBackTrigger”不具有名为“EventName”的公共属性。
在 System.Web.UI.TemplateParser.ProcessException(Exception ex)
在 System.Web.UI.TemplateParser.ParseStringInternal(String text, Encoding fileEncoding)
在 System.Web.UI.TemplateParser.ParseString(String text, VirtualPath virtualPath, Encoding fileEncoding)

antiking 2010-05-20
  • 打赏
  • 举报
回复
<asp:PostBackTrigger ControlID="Button1">
是没有EventName="Click"这个属性
sorry下。

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧