“Sys.WebForms.PageRequestManagerServerErrorException:状态代码:500”

Posted

技术标签:

【中文标题】“Sys.WebForms.PageRequestManagerServerErrorException:状态代码:500”【英文标题】:"Sys.WebForms.PageRequestManagerServerErrorException: status code: 500" 【发布时间】:2011-07-07 21:14:03 【问题描述】:

我在 ajax 更新面板中使用了一个 asp.net 文本框。如果我在文本框中输入 并按 Save Button ,则会出现 javascript 错误

Sys.WebForms.PageRequestManagerServerErrorException:处理服务器上的请求时发生未知错误。服务器返回的状态码是:500

请帮助我为什么会出现这个错误?

【问题讨论】:

Sys.WebForms.PageRequestManagerServerErrorException: An unknown error occurred while processing the request on the server."的可能重复 【参考方案1】:

可能是ASP.NET Request Validation 启动并检测到一个潜在的危险请求(文本框值中的 )。这会导致抛出HttpRequestValidationException - 因此UpdatePanel 返回500 HTTP 代码。在我看来有两种方法可以解决这个问题:

    验证文本框的内容并替换任何有潜在危险(类似 html)的值。

    禁用请求验证:

    <%@ Page ValidateRequest="false" %>

如果您选择禁用请求验证,请确保此文本框的值不会在您的应用程序的其他位置逐字输出。确保在显示时使用HttpUtility.HtmlEncode,以避免出现XSS 问题。

【讨论】:

以上是关于“Sys.WebForms.PageRequestManagerServerErrorException:状态代码:500”的主要内容,如果未能解决你的问题,请参考以下文章