-2

我想将 html 标签作为字符串从文本框中插入到 sql 表中。当我得到正常的插入查询时,我得到了这样的错误,

从客户端检测到潜在危险的 Request.Form 值(Res_Details="<h2>Anotherone</h2>").

描述:

ASP.NET 在请求中检测到具有潜在危险的数据,因为它可能包含 HTML 标记或脚本。这些数据可能表示试图破坏您的应用程序的安全性,例如跨站点脚本攻击。如果这种类型的输入适合您的应用程序,您可以在网页中包含代码以明确允许它。

有关详细信息,请参阅http://go.microsoft.com/fwlink/?LinkID=212874

4

4 回答 4

3

Put [ValidateInput(false)] above your Post action.

Alternatively put [AllowHtml] above the required property.

Do not do as other users have suggested and put <httpRuntime requestValidationMode="2.0" /> into your web.config as this is, to quote Microsoft, "the least secure way to disable request validation."

See this MSDN post for details.

于 2013-07-16T11:07:55.863 回答
0

在 system.web 标签下将以下代码添加到我的 web.config 中解决了我遇到的相同问题:

<system.web>
<httpRuntime requestValidationMode="2.0" />
</system.web>
于 2013-07-16T10:59:23.837 回答
0

[AllowHtml]view model property 应该解决你的问题

在此处阅读有关它的更多信息

如果您想使用editorsfor ,这是一个有用的解决方案textareas

于 2013-07-16T12:19:09.193 回答
0
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" ValidateRequest="false"%>

在 .aspx 页面中添加 validateRequest="false"。

如果这不起作用尝试

<system.web>
    <compilation debug="true" targetFramework="4.0"/>
    <httpRuntime requestValidationMode="2.0"/>
<system.web>
于 2013-07-16T11:09:20.527 回答