【问题标题】:Can't switch of "validation input" and getting error message .net无法切换“验证输入”并收到错误消息.net
【发布时间】:2017-02-20 23:06:50
【问题描述】:

试过了:

[ValidateInput(false)]
    public class MatchesController : ApiController

在 web.config 我有:

<httpRuntime  requestValidationMode="2.0" targetFramework="4.5.2"/>
<pages validateRequest="false"/>

但是在地址上使用 put 方法时仍然出现错误 http://localhost:51770/servers/62.210.26.98-1337/matches/2017-01-22T15:17:00Z

错误: 从客户端检测到有潜在危险的 request.form 值 (:)

显然,“:”有问题,我该如何解决这个问题?

【问题讨论】:

标签: c# .net asp.net-mvc


【解决方案1】:

如果验证输入不起作用,您可以尝试在您的模型上使用 AllowHtml 属性。 如引用here

对于 ASP.NET MVC 3 应用程序,当您需要将 HTML 回传到 你的模型,不要使用 ValidateInput(false) 来关闭 Request 验证。只需将 [AllowHtml] 添加到您的模型属性中,如下所示:

public class BlogEntry {
    public int UserId {get;set;}
    [AllowHtml] 
    public string BlogText {get;set;}
 }

更新: 对于 web api 请求,我可以这样尝试:

<system.web>
    <httpRuntime requestPathInvalidCharacters="" requestValidationMode="2.0" />
    <pages validateRequest="false" />
</system.web>

【讨论】:

  • 不是属性,所以不能使用[AllowHttml]
  • 我实际上是在尝试制作 API,而不是网页
  • 你能在配置文件中试试 requestPathInvalidCharacters="" 和
猜你喜欢
  • 2015-09-19
  • 2018-12-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-28
  • 2018-07-01
  • 1970-01-01
  • 2011-10-12
相关资源
最近更新 更多