我在 ajax 更新面板中使用了一个 asp.net 文本框。如果我在文本框中输入 &# 并按保存按钮,它会出现 javascript 错误

Sys.WebForms.PageRequestManagerServerErrorException: An unknown error occurred while processing the request on the server. The status code returned from the server was: 500

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

请您参考如下方法:

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

  1. 验证文本框的内容并替换任何具有潜在危险(类似 HTML)的值。
  2. 禁用请求验证:

    <%@ Page ValidateRequest="false" %>

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


评论关闭
IT虾米网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!