我有ASP.NET MVC应用程序,它应该处理已发布的XML数据。在Cassini工作正常,但当我将应用程序部署到IIS6时,我遇到了以下错误。
A potentially dangerous Request.Form value was detected from the client (xml="<?xml version="1.0" ...").
我尝试用ValidateInput(false)
属性装饰控制器,我还向控制器添加了以下方法。
protected override void Initialize(RequestContext requestContext)
{
ValidateRequest = false;
base.Initialize(requestContext);
}
没什么用。
你有什么其他的想法我怎么能摆脱这个烦人的请求验证?
修改:抱歉。我像往常一样完全是我的错误。设置通配符映射后,一切正常。
答案 0 :(得分:2)
是POST方法的(ValidateInput)吗?它只适用于POST。
答案 1 :(得分:2)
正如理查德所说,你应该把它放在接受输入的动作方法上:
[HttpPost]
[ValidateInput (false)]
public ActionResult DoTheThing (StuffBeingPostedBack stuff)
{
// ...
}
答案 2 :(得分:1)
在控制器的帖子方法中将[ValidateInput(false)]放在ActionResult上方....