错误:无法解析从服务器收到的消息

问题描述

我们有一个旧的ASP.NET 3.5 Web窗体网站。

我们想在此旧站点中引入多语言功能,并且作为捷径,我们正在应用程序虱子周期的as.character方法内的呈现HTML字符串中替换字符串。我们正在覆盖它。

Render

翻译器使用预定义的CSV词典将英语单词替换为中文单词。

protected override void Render(HtmlTextWriter writer)
{
    StringWriter output = new StringWriter();

    base.Render(new HtmlTextWriter(output));

    string outputAsstring = output.ToString();

    Translator.DoProcess(ref outputAsstring);

    writer.Write(outputAsstring);
}

在我们使用UpdatePanel之前,一切都很好,很酷,很棒,但是!

我们在UpdatePanel中具有一些功能,可以异步更新页面,例如,当下拉菜单更改时,另一个下拉菜单更新其值,等等...

当我们在UpdatePanel中触发事件时,获得响应后,我们会在浏览器控制台的客户端上收到以下错误

未捕获的Sys.WebForms.PageRequestManagerParserErrorException: Sys.WebForms.PageRequestManagerParserErrorException:消息 无法解析从服务器接收到的信息。常见原因 错误是通过调用Response.Write()修改响应时, 响应筛选器,HttpModules或服务器跟踪已启用。细节: 解析“ MENT || 0 | hiddenField | __LASTFOCUS || 3972 | hi”附近时出错。

因此,我假设客户端在使用UpdatePanel / AJAX时无法解析翻译的HTML。我已经检查了此AJAX请求和响应的内容,并且响应中有我的精美翻译。

我尝试了什么?

  1. 我尝试在应用程序级别以及页面级别禁用ViewState。

  2. 我试图从站点中完全删除ViewState隐藏字段。它产生了另一个错误

  3. 我认为翻译后的响应内容长度可能已更改,因此在翻译页面时我也尝试更改内容长度。

没有工作。

感谢您的帮助。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)