"Sys.WebForms.PageRequestManagerServerErrorException:状态代码:500"

Bas*_*mah 5 javascript asp.net updatepanel webforms asp.net-ajax

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

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

请帮我解释为什么会出现此错误?

在此输入图像描述

Ata*_*hev 7

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

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

    <%@ Page ValidateRequest="false" %>

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