如何使用ValidateInput(false)在web api中装饰动作

问题描述 投票:2回答:3

我需要从正常的MVC控制器迁移到WebApi控制器。

我的普通mvc控制器。

[HttpPost]
[ValidateInput(false)]
public ActionResult Validate(string data)
{

}

WebApi控制器

[HttpPost]
[ValidateInput(false)] 
// the moment I resolve the namespace System.Web.Mvc all the [HttpPost],[HttpGet] starts throwing error.
public HttpStatusCode Post([FromBody]string data)
{

}

有人可以解释为什么以及如何解决这个要求?

c# asp.net-mvc asp.net-web-api action-filter
3个回答
1
投票

您实际上不必在Web api中使用[ValidateInput(false)]之类的东西,它旨在防止MVC应用程序中的XSS攻击。

此外,您必须引用的命名空间是System.Web.Http。


0
投票

要拥有Api控制器,您必须继承ApiController。此外,如果通过添加命名空间开始获取错误,那么您必须明确地将命名空间添加到这样的属性中。 System.Web.Http.HttpPost


0
投票

我在here的javascript中使用了htmlEncode,在C#中使用了HttpUtility.HtmlDecode

© www.soinside.com 2019 - 2024. All rights reserved.