我需要从正常的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)
{
}
有人可以解释为什么以及如何解决这个要求?
您实际上不必在Web api中使用[ValidateInput(false)]之类的东西,它旨在防止MVC应用程序中的XSS攻击。
此外,您必须引用的命名空间是System.Web.Http。
要拥有Api控制器,您必须继承ApiController
。此外,如果通过添加命名空间开始获取错误,那么您必须明确地将命名空间添加到这样的属性中。 System.Web.Http.HttpPost
。
我在here的javascript中使用了htmlEncode,在C#中使用了HttpUtility.HtmlDecode