0

我正在为特定需求构建一个脚注编辑器,我需要一个显示特殊字符的下拉列表,例如匕首 (†)。不确定它是否重要,但下拉列表采用 ajax 模式弹出形式。每当我尝试显示弹出表单时,都会收到错误消息“从客户端检测到潜在危险的 Request.Form 值 (ctl00$MainContent$ucFootNoteList$DropDownList1="*, †")。

我尝试将 <httpRuntime requestValidationMode="2.0" /> 添加到 Web.config 文件中。

如何在这种情况下显示特殊字符而不会出现此错误?

4

3 回答 3

1

您可以validateRequest在相应 WebForm 的 Page 标头上设置属性以禁用请求验证并允许发布 HTML 字符:

<%@ Page validateRequest="false" %>

这也可以为 web.config 中的所有 WebForm 全局完成:

<pages validateRequest="false" />

an articleMSDN 上,您可以阅读更多关于 ASP.NET 中的请求验证的信息。

于 2012-10-27T17:22:22.253 回答
1

您可以禁用 ValidateRequest 属性,但 [非常重要!] 请使用 AntiXss 之类的库清理您的输入,如下所示:

http://wpl.codeplex.com/

否则你将容易受到输入攻击(注入、xss 等)

实际上,您的请求“潜在危险”的原因是因为运行时认为有些人正在尝试注入一些 HTML,这就是您不能插入 <bla> 的原因

于 2012-10-27T17:23:51.897 回答
-1

禁用 ASP.NET 请求验证功能。为此,在网页的 .aspx 文件中,设置此处显示的 Page ValidateRequest 设置。

<%@ Page ValidateRequest="false"%>

或者,在 Web 应用程序的 Web.config 文件中,将该部分的 validateRequest 属性设置为 false。

<configuration>
    <system.web>
        <pages validateRequest="false" />
        </system.web>
    </configuration>

来源:http: //msdn.microsoft.com/en-us/library/ee517280.aspx

于 2012-10-27T17:41:05.017 回答