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