我的模型中有一个自定义类型,如下所示:
[StringLength(1000, MinimumLength = 150, ErrorMessageResourceName = "fld_Description_val_MinLength_lbl", ErrorMessageResourceType = typeof(Resources.Service.Controllers.Firm))]
[AllowHtml]
[Display(Name = "fld_Description_lbl", ResourceType = typeof(Resources.Service.Controllers.Firm))]
public MultilanguageProperty<string> Description
{
get
{
return this.GetMultilanguageProperty("Description", string.Empty, this);
}
set
{
this.SetMultilanguageProperty("Description", value);
}
}
由于某种原因,AllowHtml不适用于自定义类型(从客户端检测到一个潜在危险的Request.Form值)。我怎么绕过它呢? 感谢
答案 0 :(得分:2)
AllowHtml做的是在元数据上设置RequestValidationEnabled = false,它不包含任何特定于类型的逻辑。这里最可能的原因是您的属性与POST表单集合中的值之间的名称不匹配(ValueProvider未将此属性Metadata视为已发布值的元数据)。您可以通过在操作上添加[ValidateInput(false)]来禁用整个请求的验证。